获取运行活动而不持有静态引用的Android应用程序

获取运行活动而不持有静态引用的Android应用程序,android,Android,有人知道如何让Android应用程序运行或不运行活动对象而不保持静态上下文吗?你可以试试 PendingIntent pi=PendingIntent.getActivity(上下文,0,新意图(this,Activity.class),PendingIntent.FLAG_NO_CREATE) 如果pi==null,则未运行 我不是舒尔。我没有时间去尝试。你总是需要一个背景,周围总是有一个背景。应用程序是上下文,活动也是上下文,视图有上下文,服务和BroadcastReceiver入口点有一个

有人知道如何让Android应用程序运行或不运行
活动
对象而不保持静态上下文吗?

你可以试试

PendingIntent pi=PendingIntent.getActivity(上下文,0,新意图(this,Activity.class),PendingIntent.FLAG_NO_CREATE)

如果pi==null,则未运行


我不是舒尔。我没有时间去尝试。

你总是需要一个背景,周围总是有一个背景。应用程序是上下文,活动也是上下文,视图有上下文,服务和BroadcastReceiver入口点有一个上下文作为其第一个参数。

从公共基类派生所有活动(我在所有项目中都这样做是为了封装公共功能)。在onPause和onResume中,向公共位置报告。您可以保留一个表示打开的活动的字符串列表,而不是保留对它们的硬引用。由于可能存在多个实例,您可能应该将此信息保存到一个结构中,该结构还可以告诉您每个活动实例的数量


如果您需要向这些打开的活动之一(或所有活动)发送命令,您可以让它们注册广播接收器。

感谢您的响应,但这不起作用,它似乎总是返回null。在这种情况下,您还可以执行sendstickybroadcast(intent)和anywhere can do intent=registerreceiver(null,“您的.intent.action.name”),您可以在基类中注册和注销广播接收器,然后任何处于活动状态的人都将接收广播