下面的代码 fragment ....
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
///////////Do something////////////////////////
showtext.startScan();
//SEt Alarm
Intent intent = new Intent(this, TextReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+9000, pi);}
还有我的接收器:
TextReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
///Show text/////
}
}
问题是,当我在 9sn 之后运行程序时,出现“应用程序意外停止”的错误。为什么我会收到此错误?
我的目标是每 9sn 显示一次文本。 AlarmManager
在主要 Activity 中的正确用法是什么
或者我应该在 BroadcastReceiver
中设置闹钟吗?
哪一个有意义:am.setRepeating
或 am.set
就我的目标而言?
**编辑:如何更改我的警报代码以在广播接收器中运行? **
最佳答案
//试试这个
AlarmManager am=(AlarmManager)getApplicationContext getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),(9 * 1000), pendingIntent);
关于android - 具有未决 Intent 的 Alarmmanager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494301/