下面的代码片段....
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);}
Run Code Online (Sandbox Code Playgroud)
和我的接收者:
TextReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
///Show text/////
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我在9sn之后运行程序时,我收到一条错误"应用程序意外停止".为什么我会收到此错误?
我的目标是每隔9sn显示一次文本.AlarmManager主要活动的正确用法是什么?
或者我应该设置闹钟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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13482 次 |
| 最近记录: |