私は 1 つの Android アプリケーションを開発しています。このアプリケーションでは、別の BroadcastReceiver の onReceive から Alarmmanager の onReceive メソッド、つまりインターネット接続を呼び出す必要があります。出来ますか ?または、別の BroadcastReceiver にすべてのものを複製する必要がありますか?
質問する
717 次
2 に答える
1
onReceive から新しいインテントを作成して、別のブロードキャスト レシーバーをトリガーできます
@Override
public void onReceive(Context context, Intent intent) {
Intent newIntent = new Intent("com.domain.yourboardcastreceiver");
context.sendBroadcast(newIntent);
}
于 2016-11-26T07:40:58.600 に答える
0
インターネット接続ブロードキャスト レシーバーの OnReceive(..) メソッドでは、アラームを設定できます。これにより、アラーム マネージャーがトリガーされます。たとえば、次のようになります。
@Override
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(getBaseContext(), **AlarmReceiver**.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
マニフェスト ファイルにアラーム マネージャーのレシーバーを登録することを忘れないでください。
それが役に立てば幸い !
于 2016-11-26T07:46:41.350 に答える