現在、ステータスバーにビューを描画できるアプリに取り組んでいます。
これが私のコードです:
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
v = new StatusView(this);
lp = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
**WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL**,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
PixelFormat.TRANSLUCENT);
wm.addView(v, lp);
Log.d(TAG, "Added view");
}
ただし、このビュー タイプを使用する権限がないというセキュリティ例外が発生します。そこで、いくつかの権限を追加してみました。これまでに試したものは次のとおりです。
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/>
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.BIND_REMOTEVIEWS"/>
<uses-permission android:name="android.permission.STATUS_BAR"/>
助言がありますか?ステータスバーはウィンドウの一部と見なされないため、これは不可能な場合があります。
編集:
具体的なエラーは次のとおりです。
android.view.WindowManager$BadTokenException: unable to add window
android.view.ViewRoot$W@40518c50 - permission denied for this window type