相关疑难解决方法(0)

如何通过在Android中刷卡杀死应用程序时处理代码?

如果我的应用程序正在运行,我按下主页按钮,应用程序进入后台.现在,如果长按home键并从最近的应用程序列表刷卡它杀死的应用程序,没有人像的事件onPause(),onStop()或者onDestroy()被调用,而该过程被终止.因此,如果我希望我的服务停止,杀死通知和取消注册听众,我该怎么做?我阅读了不少文章和博客,但没有得到任何有用的信息,我没有找到任何有关它的文档.任何帮助,将不胜感激.提前致谢.

android

96
推荐指数
4
解决办法
7万
查看次数

如何启动所有Android制造商的Power Manager以启用后台和推送通知?

一些Android设备由于定制的Android调整由制造商完成,有一些关于电源管理的政治,打破了一些功能,如推送通知.

  • 华为 - 仅限预EMUI 5.0/Android 7 - 转到设置>"受保护的应用",检查您的应用.
  • 索尼 - 点击电池图标.转到电源管理> STAMINA模式>在待机状态下激活的应用>添加您的应用.
  • 华硕 - 在自动启动管理器中检查您的应用程序.
  • 小米 - 安全(应用程序)>权限>自动启动 - 启用您的应用程序
  • *新小米 - 设置>开发人员选项.禁用"内存优化".要启用开发者选项,请转到设置>关于.点击MIUI 8次.
  • Oppo - 转到设置>"安全设置">"数据保存"并启用您的应用.
  • 三星 - 禁用电池使用优化

我想收集意图来启动各自的工具,但我发现只有华为和小米.

Intent INTENT_HUAWEI = new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
Intent INTENT_XIAOMI = new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));

if (getPackageManager().resolveActivity(INTENT_HUAWEI, PackageManager.MATCH_DEFAULT_ONLY) != null)
    startActivity(INTENT_HUAWEI);
else if (getPackageManager().resolveActivity(INTENT_XIAOMI, PackageManager.MATCH_DEFAULT_ONLY) != null)
    startActivity(INTENT_XIAOMI);
Run Code Online (Sandbox Code Playgroud)

我需要其他所有制作人的帮助

android power-management push-notification

23
推荐指数
2
解决办法
9391
查看次数

JobService 不会在 android 9 中重新安排

我正在尝试让我的应用程序在 Android 9 上运行。以下代码在 Android 8 之前都可以正常工作,但出于某种原因,JobService 不会在 android 9 上重新安排。它第一次被安排,但不会根据到设置周期。

class RetrieveJobService : JobService() {

override fun onStartJob(params: JobParameters): Boolean {
    doBackgroundWork(params)
    return true
}

private fun doBackgroundWork(params: JobParameters) {
    Thread {
        try {
            doRetrieveBackgroundStuff(this)
            jobFinished(params, false)
        } catch (e: Exception) {
            jobFinished(params, false)
        }
    }.start()
}

override fun onStopJob(params: JobParameters): Boolean {
    return false
}

}
Run Code Online (Sandbox Code Playgroud)

这里是我的 JobInfo.Builder

val builder = JobInfo.Builder(jobID, componentName)
                    .setPersisted(true)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    builder.setPeriodic(millis, 15 * 60 * 1000) //15 min
} …
Run Code Online (Sandbox Code Playgroud)

android job-scheduling kotlin jobservice android-9.0-pie

6
推荐指数
1
解决办法
3037
查看次数