0

電話の起動が完了したら、新しいサービスを開始したい。そこで、そのためのブロードキャストレシーバーを次のように作成します

   @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..

4

1 に答える 1

2

必要かもしれません

 Intent mServiceIntent = new Intent(context, BootService.class);
于 2013-03-05T05:51:23.490 に答える