1

私のアプリは、サービスを使用して、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か? どうすればそれを確認できますか

  1. オーバーレイは 10 ~ 15 分以上持続し、Android OS によって強制終了されません
  2. 強制終了された場合、このエラーは表示されません
4

1 に答える 1