Android中本地通知调度的最佳做法是什么?

问题描述 投票:0回答:1

请帮助我找出安排本地推送通知的最佳解决方案。

在我的应用中,我正在使用警报管理器来触发通知。但是这种方法效果不好。我的意思是它有时起作用,但并非每次都起作用。

即使设备处于空闲模式,也有可能显示通知。 (*没有互联网连接)。我正在阅读许多建议将GCM / FCM与高优先级通知一起使用的博客。但是问题是应用程序不需要互联网连接。所有通知信息部分均在应用程序端本身完成。因此,不需要服务器端的工作。

[此外,我尝试使用WorkManager和JobScheduler。这里的问题是通知的时间间隔。有时,App需要在一分钟内显示两个通知。那可能吗?如果是,请给我样品。

最后,本地通知调度的最佳实践是什么?

android alarmmanager android-notifications android-workmanager android-jobscheduler
1个回答
0
投票

如果将应用添加到电池优化列表中,则不会触发警报管理器,因此,提示用户从电池优化列表中删除该应用,请检查以下代码

添加权限

<uses-permission  android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

开始从电池优化中删除活动/白名单

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent();
        String packageName = getPackageName();
        PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
        if (!pm.isIgnoringBatteryOptimizations(packageName)) {
            intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            startActivity(intent);
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.