我希望在手机重启完成后启动服务。我将安装我的应用程序,但不会启动它。 我使用广播接收器监听 BOOT_COMPLETED 意图继续以下方式。
我的接收者如下......
public class MyReceiver extends BroadcastReceiver {
static final String TAG = "MyReceiver";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.d(TAG, "******* OnReceive");
Log.d(TAG, "Boot Completed Caught");
context.startService(new Intent(context, MyService.class));
}
}
在Manifest中,我添加了以下代码行:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<service android:name="MyService"
android:enabled="true" >
<intent-filter>
<action android:name="com.example.logic.MyService" />
</intent-filter>
</service>
<receiver android:name="MyReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
但是一旦启动完成,接收器就不会监听。请记住,我只安装了我的应用程序,但从未启动它。但我的要求是,我不应该在我的设备中安装后启动我的应用程序。任何人都可以帮助我。
我用谷歌搜索了一下,发现因为我没有启动我的应用程序,它处于 停止状态 ,启动完成的意图忽略了我的接收器。以下链接可能有助于您了解我的问题: http://devmaze.wordpress.com/2011/12/05/activating-applications/
答案 0 :(得分:0)
服务和MyReceiver必须是完整的包名, 像这样