0

ブート完了イベントをキャッチするブロードキャスト レシーバーを実装しようとしています。

マニフェストに許可を入れました

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

マニフェストのレシーバー タグの後にインテント フィルターを配置します (クラス ファイルはレシーバー パッケージにあります)。

<receiver android:name=".receivers.BootReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            <action android:name="android.intent.action.REBOOT" />
        </intent-filter>
</receiver>

そして最後にレシーバークラスを宣言しました。クラスは、データベースからいくつかのデータをロードし、アラームを設定する必要があります。ただし、機能するかどうかを確認するために、トーストを入れましたが、表示されず、バイブラもありません。

public class BootReceiver extends BroadcastReceiver {

   public void onReceive(Context context, Intent callingIntent) {
       Vibrator vibrator=(Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
       vibrator.vibrate(5000);
       Toast.makeText(context, "BOOT RECEIVED", Toast.LENGTH_LONG).show();
   }
}

誰でも理由を知っていますか?

4

1 に答える 1