java – 在China Phone中刷新应用程序后台服务
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在China Phone中刷新应用程序后台服务,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2288字,纯文字阅读大概需要4分钟。
内容图文
![java – 在China Phone中刷新应用程序后台服务](/upload/InfoBanner/zyjiaocheng/782/a9baba2516fb4b2ab774b76243881c14.jpg)
当应用程序被刷上(关闭),后台服务停止运行时,我一直在寻找有关中国手机(Oppo,华为,小米,Vivo等)此问题的答案.
大多数解决方案是:
>包含START_STICKY并使用AlarmManager启动服务.
>以编程方式将用户引导至自动启动管理器以按用户启用应用程序.
>手动将我的应用程序从省电模式中排除,或将我的应用程序包含为受保护的应用
我的问题是像Whatsapp这样的应用程序如何仍然收到消息或通知甚至刷过?
此外,如果手机重启,1和2中提到的解决方案不起作用,但Whatsapp如何仍能接收消息?
我测试了三星设备,即使应用程序被刷了,他们也可以运行后台服务.
有没有人面对中国手机的同样问题?
解决方法:
try {
Intent intent = new Intent();
String manufacturer = android.os.Build.MANUFACTURER;
if ("xiaomi".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
} else if ("oppo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
} else if ("vivo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
} else if ("oneplus".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.oneplus.security", "com.oneplus.security.chainlaunch.view.ChainLaunchAppListAct??ivity"));
} else if ("Letv".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity"));
} else if ("Honor".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
}
else if ("huawei".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
}
else if ("asus".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.asus.mobilemanager","com.asus.mobilemanager.autostart.AutoStartActivity"));
}
else {
Log.e("other phone ", "===>");
}
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
startActivity(intent);
}
} catch (Exception e) {
e.printStackTrace();
}
内容总结
以上是互联网集市为您收集整理的java – 在China Phone中刷新应用程序后台服务全部内容,希望文章能够帮你解决java – 在China Phone中刷新应用程序后台服务所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。