Android:class 中的威胁隐式意图不是 Activity 或 BroadcastReceiver
Android: Threat implicit intent in a class that is not an Activity or BroadcastReceiver
我想启动一个带有隐式意图的应用程序,但在该应用程序启动之前,我需要处理该意图并启动一个状态机,然后该状态机将加载 Activity
。
我可以使用广播接收器或 activity
<receiver android:name="com.13.MyBroadcastReceiver">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</receiver>
但是我无法控制其他应用程序是否会响应相同的意图。
或
<activity android:name="com.13.MyReceiverActivity">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</activity >
但这不是干净的,我可以做一些处理onCreate()
然后finish()
。
知道我是否可以结合使用这些方法吗?
我的意思是使用隐式(或显式)意图从另一个应用程序加载 class(不是 BroadcastReceiver
或 Activity
)?
由于这两个应用都是您的,欢迎您使用任何您想要的 IPC 机制。
使用 Activity
的优点是您可以选择说所有内容都在同一任务中。因此,当应用程序 A 启动应用程序 B 的 activity 时,这可以是一个任务。任何其他 IPC 机制都会强制您开始新任务。
因此,正如我在评论中建议的那样,使用 PackageManager
将隐式 Intent
转换为显式。然后,使用您想要的任何 IPC。如果您想使用 "broadcast"(明确的 Intent
确实使它更像 "narrowcast"),欢迎您这样做。
恕我直言,说一个 activity 将控制权转移给另一个 activity,也许使用 finish()
,并不是真的 "dirty"。毕竟,应用程序使用的许多启动画面最终都是这样做的。恕我直言,使用任何其他 IPC 机制启动 activity,当 startActivity()
可以正常工作时,是 "dirty".
我想启动一个带有隐式意图的应用程序,但在该应用程序启动之前,我需要处理该意图并启动一个状态机,然后该状态机将加载 Activity
。
我可以使用广播接收器或 activity
<receiver android:name="com.13.MyBroadcastReceiver">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</receiver>
但是我无法控制其他应用程序是否会响应相同的意图。
或
<activity android:name="com.13.MyReceiverActivity">
<intent-filter>
<action android:name="com.13.StartStateMachine" />
</intent-filter>
</activity >
但这不是干净的,我可以做一些处理onCreate()
然后finish()
。
知道我是否可以结合使用这些方法吗?
我的意思是使用隐式(或显式)意图从另一个应用程序加载 class(不是 BroadcastReceiver
或 Activity
)?
由于这两个应用都是您的,欢迎您使用任何您想要的 IPC 机制。
使用 Activity
的优点是您可以选择说所有内容都在同一任务中。因此,当应用程序 A 启动应用程序 B 的 activity 时,这可以是一个任务。任何其他 IPC 机制都会强制您开始新任务。
因此,正如我在评论中建议的那样,使用 PackageManager
将隐式 Intent
转换为显式。然后,使用您想要的任何 IPC。如果您想使用 "broadcast"(明确的 Intent
确实使它更像 "narrowcast"),欢迎您这样做。
恕我直言,说一个 activity 将控制权转移给另一个 activity,也许使用 finish()
,并不是真的 "dirty"。毕竟,应用程序使用的许多启动画面最终都是这样做的。恕我直言,使用任何其他 IPC 机制启动 activity,当 startActivity()
可以正常工作时,是 "dirty".