![](/img/trans.png)
[英]Android - How to Enable Autostart option programmatically in Xiaomi devices?
[英]How to Enable Autostart option programmatically in Samsung devices?
我正在使用后台服务,它不能在某些设备上运行,因为我必须为应用程序启用自动启动权限。 我想在需要的地方自动启用自动启动权限。 我正在使用此代码,但它会将我重定向到自动启动权限所在的窗口。 但是在三星手机中它没有指向那个窗口
if ("xiaomi".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
alertdialogue(intent);
} else if ("oppo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
alertdialogue(intent);
} else if ("vivo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
alertdialogue(intent);
} else if ("Letv".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity"));
alertdialogue(intent);
} else if ("Honor".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
alertdialogue(intent);
}
我想要三星设备的解决方案
其他答案正确地说com.samsung.android.sm
是 N/7.0/24 及更高版本的包名称,但是我发现在 Q/10.0/29 上,活动名称已从com.samsung.android.sm.ui.battery.BatteryActivity
更改com.samsung.android.sm.ui.battery.BatteryActivity
到com.samsung.android.sm.battery.ui.BatteryActivity
。 我不确定 O 或 P。最好的办法是简单地列出所有可能的解决方案,然后依次尝试:
fun openSamsungBackgroundSettings() {
val possibleIntents = mutableListOf<Intent>()
val battery1 = "com.samsung.android.sm.ui.battery.BatteryActivity"
val battery2 = "com.samsung.android.sm.battery.ui.BatteryActivity"
val pkg = if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N)
"com.samsung.android.lool"
else
"com.samsung.android.sm"
possibleIntents.add(Intent().setComponent(ComponentName(pkg, battery1)))
possibleIntents.add(Intent().setComponent(ComponentName(pkg, battery2)))
//general settings as backup
possibleIntents.add(Intent(Settings.ACTION_SETTINGS))
possibleIntents.forEach {
try {
startActivity(it)
return
} catch (ex: Exception) {
w(ex){"Failed to open intent:$it"}
}
}
}
new Intent().setComponent(new ComponentName("com.samsung.android.lool","com.samsung.android.sm.ui.battery.BatteryActivity"))
试试这个意图,但这是为了进行电池优化控制活动,没有找到适用于三星的确切 AutoStart,如果你找到了,请告诉我
有一些三星手机不支持此授权(没有电池优化活动)但是对于那些有两种情况
Android L 上的"com.samsung.android.sm", "com.samsung.android.sm.ui.battery.BatteryActivity"
Android N 上的"com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.