android - 华为系统设置的最新自动启动 Activity Intent 是什么?

标签 android android-intent huawei-mobile-services power-management powermanager

以前,具有以下组件之一的 Intent 将我引导至华为的系统设置以更改应用程序的自动启动行为。

    ComponentName(
            "com.huawei.systemmanager",
            "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity"
        ),
        ComponentName(
            "com.huawei.systemmanager",
            "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity"
        )
堆栈跟踪:
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.huawei.systemmanager/.startupmgr.ui.StartupNormalAppListActivity } from ProcessRecord{34a529e 19272:com.mk...test/u0a733} (pid=19272, uid=10733) requires com.huawei.permission.external_app_settings.USE_COMPONENT
    at android.os.Parcel.createException(Parcel.java:2071)
    at android.os.Parcel.readException(Parcel.java:2039)
    at android.os.Parcel.readException(Parcel.java:1987)
    at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3888)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1738)
    at androidx.test.runner.MonitoringInstrumentation.execStartActivity(MonitoringInstrumentation.java:545)
    at android.app.ContextImpl.startActivity(ContextImpl.java:1049)
    at android.app.ContextImpl.startActivity(ContextImpl.java:1005)
    at java.lang.reflect.Method.invoke(Native Method)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at androidx.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runners.Suite.runChild(Suite.java:128)
    at org.junit.runners.Suite.runChild(Suite.java:27)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
    at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
    at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:395)
    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2258)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1194)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:904)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:652)
    at com.android.server.wm.HwActivityStarter.startActivity(HwActivityStarter.java:292)
    at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1647)
Stracktrace 中提到的权限在我的 list 文件中声明。
 <uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT"/>
这在以前确实有效,而且我似乎记得我的华为 P30 Pro 有一个安全更新。
现在正确的程序是什么?为什么它提示缺少权限,尽管它被声明了?

最佳答案

出于安全原因,自 2021 年初以来,所有 EMUI 不再支持“应用启动”设置的 Intent 。

关于android - 华为系统设置的最新自动启动 Activity Intent 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68100440/

相关文章:

java - Opencv4Android 不满意的链接器错误时刻

android - 更改 TabActivity 中的选项卡背景颜色

android - Meteor 1.2 找不到 ANDROID_HOME

shell - 在debian系统下使用华为E3131和HiLink通过命令行发送和接收短信

android - verifyCredentials 上的 Twitter4J 异常

android - 如何通过 Intent 播放 YouTube 视频?

android - 带附件的电子邮件

android - 无法为intent android打开pdf文件

android - 如果华为设备同时支持 GMS 和 HMS 核心,那为什么 HMS 核心不工作?

java - HMS核心 map 套件, map 加载但不渲染