在啓動完成我開始一個服務,它在模擬器上完美運行,但是當我在android手機上運行它廣播接收器不啓動服務。 Infact應用程序甚至沒有從設備接收啓動完成的廣播。啓動接收器在模擬器上工作,但不是Android實際電話
這是我的清單文件:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver
android:name="com.darkrai.smsbasedcontroller.BootReciever"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</application>
這是我的廣播reciever類。
public class BootReciever extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, UpdateService.class));
Log.d("Boot", "Boot Reciever");
}
但是,如果我希望設備在啓動完成後立即啓動服務,該怎麼辦。我必須在上面的代碼中進行修改。 – user3768061
@ user3768061:我已經回答了。添加一個'LAUNCHER'活動。用戶啓動後,您的接收器將工作,直到用戶強制停止或卸載您的用戶。在用戶啓動活動之前,您的接收器將無法工作。 – CommonsWare