好的,所以我有一个应用程序,需要接收传入的短信,并发送短信给发件人。这个我可以设置好。问题是,我只希望广播接收器在服务启动时接收。我在服务中声明了接收器类。我在onDestroy中销毁引用(并取消注册接收器)。当应用程序编译并运行时,广播接收器永远不会运行。如果我在清单中进行delcare,它可以正常工作,但永远不会停止。接收器只是一直在醒来和处理。
答案 0 :(得分:0)
您可以尝试实现此代码:
<receiver android:name=".mystuff" android:enabled="false">
在
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(
new ComponentName(context, mystuff.class),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
关
... PackageManager.COMPONENT_ENABLED_STATE_DISABLED ...
答案 1 :(得分:0)
有一点需要注意的是,您需要在清单中声明Receiver文件。这实际上是通过手机注册您的服务。根据{{3}}
BroadcastReceiver对象仅在对onReceive(Context,Intent)的调用期间有效。一旦你的代码从此返回 功能,系统认为要完成的对象不再 活跃。
所以我所做的是在服务中定义我的onReceive(Context,Intent)并注册它。希望这会有所帮助。