4 回答
![?](http://img1.sycdn.imooc.com/533e4c420001b2e502000200-100-100.jpg)
子衿沉夜
TA贡献1828条经验 获得超3个赞
onReceive
Intent
<receiver android:name=".Alarm" android:exported="true"> <intent-filter> <action android:name="mypackage.START_ALARM" > </action> </intent-filter></receiver>
".Alarm"
setAlarm
Intent
Intent i = new Intent("mypackage.START_ALARM");
START_ALARM
BroadcastReceiver
BroadcastReceiver
![?](http://img1.sycdn.imooc.com/545865890001495702200220-100-100.jpg)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
public void SetAlarm() { final Button button = buttons[2]; // replace with a button from your own UI BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive( Context context, Intent _ ) { button.setBackgroundColor( Color.RED ); context.unregisterReceiver( this ); // this == BroadcastReceiver, not Activity } }; this.registerReceiver( receiver, new IntentFilter("com.blah.blah.somemessage") ); PendingIntent pintent = PendingIntent.getBroadcast( this, 0, new Intent("com.blah.blah.somemessage"), 0 ); AlarmManager manager = (AlarmManager)(this.getSystemService( Context.ALARM_SERVICE )); // set alarm to fire 5 sec (1000*5) from now (SystemClock.elapsedRealtime()) manager.set( AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 1000*5, pintent ); }
添加回答
举报
0/150
提交
取消