在android中找不到闹钟侦听器
谁能告诉我闹钟响时我怎么能收到广播在android中找不到闹钟侦听器,android,alarmmanager,Android,Alarmmanager,谁能告诉我闹钟响时我怎么能收到广播 对于来电,我可以使用PhoneStateListener。但对于闹钟,我找不到任何监听器。是的,您可以通过ContentObserver收听闹钟的变化 以下是一些可能对您有所帮助的代码: Uri uri = Settings.System.getUriFor(Settings.System.NEXT_ALARM_FORMATTED); Handler handler = new Handler(); getContentResolver().registerC
对于来电,我可以使用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);
}
}
使用广播接收器
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 );
}
请参阅本帖
或者您可以阅读文档
干杯