仅当应用已经 运行 时获取 PHONE_STATE 事件
Get PHONE_STATE event only when app is already running
我有一个应用程序,我为其添加了一些功能,用于在来电时(phone 响铃或接听)。我这样做是通过创建一个 BroadcastReceiver
这样的:
<receiver android:name="mypackage.PhoneReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" >
</action>
</intent-filter>
</receiver>
一切正常,但问题是即使我的应用程序不是 运行,它也会被调用,这是有道理的,但这会触发我的应用程序上的各种其他事情。
所以问题是,只有当我的应用程序(或我拥有的服务)是 运行 时,我才能触发 BroadcastReceiver
吗?或者让我的 Application.onCreate()
以某种方式知道它是为 BroadcastReceiver
创建的并跳过它通常做的所有其他事情?
谢谢。
您可以从清单中取出接收器,并以编程方式在您的代码中注册它。这样做,您可以随时 register/unregister。
我有一个应用程序,我为其添加了一些功能,用于在来电时(phone 响铃或接听)。我这样做是通过创建一个 BroadcastReceiver
这样的:
<receiver android:name="mypackage.PhoneReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" >
</action>
</intent-filter>
</receiver>
一切正常,但问题是即使我的应用程序不是 运行,它也会被调用,这是有道理的,但这会触发我的应用程序上的各种其他事情。
所以问题是,只有当我的应用程序(或我拥有的服务)是 运行 时,我才能触发 BroadcastReceiver
吗?或者让我的 Application.onCreate()
以某种方式知道它是为 BroadcastReceiver
创建的并跳过它通常做的所有其他事情?
谢谢。
您可以从清单中取出接收器,并以编程方式在您的代码中注册它。这样做,您可以随时 register/unregister。