私のアプリは、サービスを使用して、WindowManager を介して画面に永続的なオーバーレイを追加します。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
wm.addView(ll, ll_lp);
addNotification();
}
サービスが実行されてから約 10 ~ 15 分後に、次の例外を含むアプリを強制終了するエラーがユーザーに表示されます。
java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:383)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:285)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
at com.MyApp.MyService.onDestroy(MyService.java:210)
MyService の行は次のとおりです。
@Override
public void onDestroy() {
super.onDestroy();
wm.removeView(ll);
removeNotification();
}
Android OSがアプリを強制終了し、WMがビューにアクセスできなくなったと思いますll
か? どうすればそれを確認できますか
- オーバーレイは 10 ~ 15 分以上持続し、Android OS によって強制終了されません
- 強制終了された場合、このエラーは表示されません