4 回答
TA贡献1828条经验 获得超3个赞
onReceiveIntent
<receiver android:name=".Alarm" android:exported="true"> <intent-filter> <action android:name="mypackage.START_ALARM" > </action> </intent-filter></receiver>
".Alarm"setAlarmIntent
Intent i = new Intent("mypackage.START_ALARM");START_ALARM
BroadcastReceiverBroadcastReceiver
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 );
}添加回答
举报
