0

BroadcastReceiver を拡張する Autostart クラスを作成しました。これは、Android を再起動するたびに開始されます。このクラス内には、いくつかのインテントとアラーム マネージャーがあります。すべてが完璧に動作します。このクラスを有効/無効にする「設定」を追加しました。問題は、このクラスを (IF/ELSE を使用して) 無効にし、後で有効にすると、モバイルを再起動する必要があることです。

この問題をどのように解決しますか?

public void onReceive(Context context, Intent intent) {

Calendar cal1 = Calendar.getInstance();
[...]

Intent intent2 = new Intent(context, AlarmReceiver.class);
[...]

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
[...]
4

1 に答える 1

2

問題は、このクラスを (IF/ELSE を使用して) 無効にし、後で有効にすると、モバイルを再起動する必要があることです。

起動時に実行するコードを静的メソッドに移動します。BroadcastReceiver起動時と「このロジックを有効にする」コードパスの両方からそのコードを呼び出します。

于 2012-12-31T12:35:03.190 に答える