目覚まし時計が鳴っているときに、どのようにして放送を受信できますか?見つけられないandroidの目覚まし時計リスナー
着信については、PhoneStateListenerを使用できます。しかし目覚まし時計のために私はリスナーを見つけることができませんでした。
目覚まし時計が鳴っているときに、どのようにして放送を受信できますか?見つけられないandroidの目覚まし時計リスナー
着信については、PhoneStateListenerを使用できます。しかし目覚まし時計のために私はリスナーを見つけることができませんでした。
はいあなたはContentObserver
で目覚まし時計の変化を聴くことができ、ここであなたを助けるかもしれないいくつかのコードです:
Uri uri = Settings.System.getUriFor(Settings.System.NEXT_ALARM_FORMATTED);
Handler handler = new Handler();
getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler));
class MyContentObserver extends ContentObserver
{
public MyContentObserver(Handler h) {
super(h);
}
@Override
public boolean deliverSelfNotifications() {
return true;
}
@Override
public void onChange(boolean selfChange) {
Log.d("MyContentObserver", "MyContentObserver.onChange(" + selfChange + ")");
super.onChange(selfChange);
}
}
使用BroadcastReceiverが。
public void setBroadCast() {
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(getApplicationContext(), "Alarm Handled Here", Toast.LENGTH_SHORT).show();
}
}; registerReceiver(br, new IntentFilter(getPackageName()));
pi = PendingIntent.getBroadcast(this, 0, new Intent(getPackageName()), 0);
am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
}
この記事でAndroid Broadcast Receiver
を参照するか、ドキュメントにBroadcast Receiver Documentation
歓声を読むことができます。