2012-03-14 95 views

回答

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

使用廣播接收器。

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

歡呼。