2012-03-14 17 views
1

目覚まし時計が鳴っているときに、どのようにして放送を受信できますか?見つけられないandroidの目覚まし時計リスナー

着信については、PhoneStateListenerを使用できます。しかし目覚まし時計のために私はリスナーを見つけることができませんでした。

答えて

0

はいあなたは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); 

     } 
    } 
0

使用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

歓声を読むことができます。