获取运行活动的Android应用程序,而不保留静态引用

时间:2012-01-17 17:01:42

标签: android

有没有人知道如何在不保存静态上下文的情况下运行或运行Activity个对象的Android应用程序?

3 个答案:

答案 0 :(得分:0)

你可以尝试

PendingIntent pi = PendingIntent.getActivity(context,0,new Intent(this,Activity.class),PendingIntent.FLAG_NO_CREATE);

如果pi == null则不运行

我不是真的。我没有时间尝试。

答案 1 :(得分:0)

你总是需要一个上下文,并且总是有一个上下文。应用程序上下文,活动也是上下文,视图具有上下文,Service和BroadcastReciever入口点将Context作为其第一个参数。

答案 2 :(得分:0)

从公共基类派生所有活动(无论如何,我都会在所有项目中执行此操作以封装常用功能)。在onPause和onResume中,报告到公共位置。您可以保留表示打开活动的字符串列表,而不是保留对它们的硬引用。由于可能存在倍数,因此您应该将此信息保存到可以告诉您每个活动实例的数量的结构中。

如果您需要向其中一个开放活动(或所有活动)发送命令,您可以让他们注册广播接收器。