Не нашел слушателя будильника в андроиде - PullRequest
1 голос
/ 14 марта 2012

Может кто-нибудь сказать мне, как я могу получить трансляцию, когда звонит будильник?

Для входящего звонка я могу использовать PhoneStateListener.Но для Будильника я не смог найти ни одного слушателя.

Ответы [ 2 ]

0 голосов
/ 12 января 2015

Использовать 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

или вы можете прочитать документацию Документация приемника вещания

веселит.

0 голосов
/ 13 февраля 2013

да, вы можете прослушивать изменения будильника 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);

        }
    }
...