java - 确保应用程序更新后警报正常工作

标签 java android alarmmanager updates

我的应用程序几乎准备就绪,现在我知道一件事,更新后,用户设置的所有闹钟都会响起。为此,我阅读了很多,发现我必须在 list 中替换用户包以检查更新并在广播中接收。这是我在 list 中添加的内容,并在我更改 gradle 中的版本代码时发送广播时进行了测试。

  <receiver
            android:name=".AppUpdateHandler"
            android:exported="false">

            <intent-filter android:priority="900">
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
                <data android:scheme="package" />
            </intent-filter>
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.PACKAGE_REPLACED" />
                <data android:scheme="package" />
            </intent-filter>
          </receiver>

接下来是我用来设置闹钟的代码,

 public void setalarm() {
        Intent intent = new Intent(Settings.this, AlarmReceiver.class);
        final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, AlarmReceiver.receivercode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        userdefinedinterval = sharedPreferences.getString("date", "");
        alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), Integer.parseInt(userdefinedinterval) * 60 * 60 * 24 * 1000, pendingIntent);
                }

我阅读并了解了待定 Intent ID,我的情况是 AlarmReceiver.receivercode。但现在需要帮助,了解我应该如何在更新后保持我的应用程序警报处于 Activity 状态。我是否需要通过捕获更新状态或其他可能的广播来调用所有警报。还有一件事,我也在 list 中添加了启动完成,以便警报在重启后继续工作。这里我通过 sharedpreference 检查与报警关联的每个选项的状态,然后分别触发报警。我需要以同样的方式处理更新吗?

最佳答案

我得到了解决方案。它可以像我们完成引导一样的方式来完成。只需在更新时调用 bootcompleted 接收器类,所有警报将根据用户设置重置。 或者只是在更新接收器中复制警报方法并完成。

关于java - 确保应用程序更新后警报正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41382077/

相关文章:

java - 使用java创建不可删除的文件并对其进行读/写

java - 不可见的对象,因为重绘方法 - Java Swing

java - 如何安全地删除一个方法,如何知道它是否没有被反射使用?

android - Makin共享库 optional

android - 警报管理器重复

java - AsyncTask 是否同时工作?

android - 生成签名 apk 时出错,找不到与给定名称匹配的资源(在 'resource' 处,值为 '@xml/global_tracker')

安卓 MVC : Sending Messages to the Controller

java - Android 警报管理器不会触发我的事件

android - 无法在 Android 上使用 AlarmManager 安排通知(使用 Qt)