繁体   English   中英

与广播接收器进行关闭活动时强制关闭

[英]force close when close activities with broadcast receiver

我尝试从服务中关闭活动,但可以正常工作,但是在强制关闭之后,这是活动中的代码:

onCreate{
registerReceiver(abcd, new IntentFilter("xyz"));
}

和这个

 private final BroadcastReceiver abcd = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
               finish();                                   
         }
 };

public void onDestroy() {

    unregisterReceiver(abcd);

}

这将关闭服务活动

sendBroadcast(new Intent("xyz"));

logcat的:

08-12 15:05:01.032: E/AndroidRuntime(6975): FATAL EXCEPTION: main 08-12 15:05:01.032: E/AndroidRuntime(6975): android.app.SuperNotCalledException: Activity {com.example.sservice/com.example.sservice.run_service} did not call through to super.onDestroy() 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3330) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3359) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.app.ActivityThread.access$1300(ActivityThread.java:143) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.os.Handler.dispatchMessage(Handler.java:99) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.os.Looper.loop(Looper.java:137) 08-12 15:05:01.032: E/AndroidRuntime(6975): at android.app.ActivityThread.main(ActivityThread.java:4963) 08-12 15:05:01.032: E/AndroidRuntime(6975): at java.lang.reflect.Method.invokeNative(Native Method) 08-12 15:05:01.032: E/AndroidRuntime(6975): at java.lang.reflect.Method.invoke(Method.java:511) 08-12 15:05:01.032: E/AndroidRuntime(6975): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 08-12 15:05:01.032: E/AndroidRuntime(6975): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 08-12 15:05:01.032: E/AndroidRuntime(6975): at dalvik.system.NativeStart.main(Native Method)

怎么了? 请帮忙

您需要调用super.onDestroy(); 重写onDestroy方法时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM