電話の起動が完了したら、新しいサービスを開始したい。そこで、そのためのブロードキャストレシーバーを次のように作成します
@Override
public void onReceive(final Context context, final Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent mServiceIntent = new Intent("com.android.reminder.BootService");
//mServiceIntent.setAction("com.android.reminder.BootService");
ComponentName service = context.startService(mServiceIntent);
if (service==null) {
// something really wrong here
Toast.makeText(context, "Sorry, Service is found null",
Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, "Service is not null",
Toast.LENGTH_LONG).show();
}
}
}
マニフェストファイルでの宣言は-
.....
<service
android:enabled="true"
android:name="com.android.reminder.BootService">
</service>
<receiver
android:name="AlarmReceiver"
android:process=":remote" >
</receiver>
<receiver
android:enabled="true"
android:name=".BootReceiver" >
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
</intent-filter>
</receiver>
</application>
トーストが「申し訳ありませんが、サービスがnullであることがわかりました」であり、サービスが開始されていないことがわかりました。
助けてください....事前にThx..