我在我的应用程序中有服务,需要在设备OPPO的后台运行。我在某个地方读到,我们需要在应用程序的设置中启用自动启动,以保持服务的运行,但我在权限方面有问题。
cmp=com.coloros.safecenter/.startupapp.StartupAppListActivity java.lang.SecurityException:权限拒绝:从ProcessRecord{904a19d 12604:elite.driver.adsmove.com.settingpermission/u0a214} (pid=12604,uid=10214)启动意图{java.lang.SecurityException}需要oppo.permission.OPPO_COMPONENT_SAFE
当我尝试这样做的时候
if (Build.MANUFACTURER.equals("OPPO")) {
Intent[] AUTO_START_OPPO = {
new Intent().setComponent(new ComponentName("com.coloros.safe", "com.coloros.safe.permission.startup.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safe", "com.coloros.safe.permission.startupapp.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startupapp.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startup.StartupAppListActivity"))
};
for (Intent intent : AUTO_START_OPPO) {
if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
try {
startActivity(intent);
break;
} catch (Exception e) {
Log.d(TAG, "OPPO - Exception: "+ e.toString());
}
}
}
}我还试图添加权限并请求它,但失败了。
<!--for OPPO-->
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />期待来自有经验的人的帮助,谢谢!
发布于 2020-11-30 16:24:21
尝试将以下内容添加为组件名称
ComponentName("com.coloros.safecenter", "com.coloros.privacypermissionsentry.PermissionTopActivity")为OPPO A3器件工作
https://stackoverflow.com/questions/49814755
复制相似问题