我的活动关闭时,我需要能够处理/捕获Intent.所以我正在寻找服务或BroadcastReceiver.
是否有可能"接收"服务本身的意图?我试图搜索,但找不到任何有用的东西.
使用BroadcastReceiver,我不确定它在Activity之外是如何工作的.它取决于正在打开/运行的活动吗?它可以单独运行吗?假设我的Activity被Android(或任务杀手应用程序)杀死,BroadcastReceiver是否仍然接收意图并处理它们?
我已经使用BroadcastReceiver作为小部件,但这次我不想使用小部件.
我的目标是让用户打开Activity来设置一些选项.从那里,他们将能够关闭活动,但我仍然能够处理由系统发出的Intents.
我仍然是Android开发的新手,所以我可能离我需要的地方太远了.
我错了吗?
广播接收器是可以独立于活动和服务运行的应用程序组件,因此绝对支持您描述的用例.
如果intent-filter为要在receiver清单节点中处理的广播Intent 注册标记,即使您的应用程序进程完全死亡(没有活动或服务),它也将接收所有匹配的广播Intent.
以下代码段显示了如何将广播接收器添加到清单以侦听广播的Intent,而不依赖于正在运行的Activity或Service.
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.project.MY_BROADCAST_ACTION" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
在Broadcast Receiver实现中,onReceive当您为其指定了intent-filter的Intent操作被广播时,将调用该处理程序.
注意:某些系统广播无法以这种方式捕获,但一般来说,这是在没有Activity运行时响应系统事件的方法.
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |