android - 具有未决 Intent 的 Alarmmanager

标签 android

下面的代码 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.setRepeatingam.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/

相关文章:

android - 从 Corona Enterprise 插件开发开始

android - Gmail 5.0 应用程序在收到 ACTION_SEND Intent 时失败并显示 "Permission denied for the attachment"

android - 选择textview时如何显示弹出窗口而不是CAB?

android - MenuItem 的 findViewById 返回 null

Android 11 - native C++ 库的 System.loadLibrary 需要 60 多秒,在 Android 10 及更低版本上运行速度非常快

android - Rxjava2、Retrofit2 - 在两个类之间传输数据。

java - 将向上按钮添加到 PreferenceScreen

javascript - Jquery 在 Android 上运行不佳

java - Android - 如何结束 fragment

Android Studio 无法解析方法 requestLocationUpdates FusedLocationProviderAPI