【发布时间】:2017-07-02 13:09:59
【问题描述】:
我正在像这样在 onReceive() 中声明一个新的 Activity。
context.startActivity(new Intent(context, SecondActivity.class));
但是不能在onReceive()中直接关闭activity。
我有一个静态变量,用于存储对新 Activity 的引用。
(上下文在Activity的onCreate()中分配)
所以我像这样在 onReceive() 中调用 finish()。
SecondActivity.context.finish();
但我认为这不是一个好方法。有没有更好的方法?
我知道如果我的 BroadcastReceiver 在 Activity 类中定义,我可以直接在 onReceive() 中调用 finish(),但是问题是,它会关闭 'this' Activity,但不会关闭 onReceive() 中新创建的 Activity。当广播接收器是静态而不是动态时,也不能调用 finish()。
【问题讨论】:
标签: java android android-activity broadcastreceiver