2012-11-28 8 views
0

이보기 추가 내 코드입니다 :안드로이드 추가보기

 LayoutInflater layoutInflater = (LayoutInflater) this 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    TextView tv = (TextView) layoutInflater.inflate(R.layout.textview, null); 
    final View view = tv; 
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 25, 
      WindowManager.LayoutParams.TYPE_STATUS_BAR, 
      WindowManager.LayoutParams.FLAG_SCALED 
      , PixelFormat.TRANSLUCENT); 


    WindowManager wm = (WindowManager) getApplicationContext().getSystemService(WINDOW_SERVICE); 
    wm.addView(view, lp); 

를하지만 나에게 오류 줄 것이다 것 :

android.view.WindowManager$BadTokenException: Unable to add window [email protected] -- permission denied for this window type

그래서 난 안드로이드 manifast에 권한을 추가를

<uses-permission android:name="android.permission.STATUS_BAR" /> 

여전히 오류가 있습니다. 도움이 필요합니다. 이 작업을해야

답변

0

, 그것은 새 상태 표시 줄 창 수 없습니다을 만들려고하는 것처럼. 하나의 상태 표시 줄이 있으며 시스템 UI에서 관리합니다.

수행하려는 작업을 설명 할 수 있습니까? 일반적으로 NotificationNotificationManager API를 사용하여 상태 표시 줄과 상호 작용합니다.

상태 표시 줄의 상단에보기를 그릴하기 위해
+0

알림 아이콘 대신 알림 바에 textview를 추가하려고합니다. – AJit

+0

이것을 수행 할 수 없습니다. – dsandler

+0

감사합니다 dsandler :) – AJit

0

확인 : 코드에서

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 
+0

아직 운이 없습니다. – AJit

+0

문제가 무엇인지 알 수 있습니까? – AJit

+0

어쩌면 스택 추적을 포함 할 수 있습니까 – Tkingovr

3

, 이것은 많은 스택 오버플로 게시물을 읽은 후 나를 위해 일한 조합입니다 :

1 - 당신도 당신의 서비스에이 LayoutParameters의 창 관리자가 필요 또는 활동

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.MATCH_PARENT, 
    statusBarHeight, 
    WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |  
    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | 
    WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | 
    WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    PixelFormat.TRANSLUCENT); 

2 - 당신은 당신의 안드로이드 매니페스트에이 권한을 필요하는 데 도움이

uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" 

희망을. 제 경우에는 상태 표시 줄에 옅은 노란색 또는 녹색으로 상태 표시 줄을 채워 사용자가 현재 통화 중임을 나타냅니다.

+0

위대한,하지만이 창 관리자에서 클릭 수가 활성화되어 있지 않습니다, 나는 플래그를 변경해 봤지만 클릭 수를 듣지 못하게합니다. (다른 플래그로 잘 작동하고있었습니다) ...이 지역에 맞춤 토스트를 표시하는 메신저 –