首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Какзапуститьэкраннастроекприложенияна华为?

Какзапуститьэкраннастроекприложенияна华为?
EN

Stack Overflow用户
提问于 2022-08-31 08:50:36
回答 1查看 45关注 0票数 0

我需要检查小米应用程序设置中的框,它的工作原理在华为上出现了一个错误。

我的代码:

代码语言:javascript
复制
try
            {
                Intent intent = new Intent();
                intent.SetComponent("com.huawei.systemmanager", "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity"); // huawei
                // intent.SetComponent(new ComponentName("com.miui.securitycenter", "com.miui.appmanager.ApplicationsDetailsActivity")); // xiaomy
                intent.PutExtra("package_name", PackageName);

                StartActivity(intent); 

            }
            catch (Exception anfe)
            {
            }

我的例外

代码语言:javascript
复制
{Java.Lang.SecurityException: Permission Denial: starting Intent { cmp=com.huawei.systemmanager/.appcontrol.activity.StartupAppControlActivity (has extras) } from ProcessRecord{2f6f6d7 8007:com.companyname.corporate_messenger/u0a410} (pid=8007, uid=10410) requires com.huawei.permission.external_app_settings.USE_COMPONENT ---> Android.OS.RemoteException: Remote stack trace:
    at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1209)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:924)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:674)
    at com.android.server.wm.HwActivityStarter.startActivity(HwActivityStarter.java:278)
    at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1737)
callee: null 1665/2209

   --- End of inner exception stack trace ---
  at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0008e] in <00c315a988634383b446eff646084784>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00063] in <00c315a988634383b446eff646084784>:0 
  at Android.Content.ContextWrapper.StartActivity (Android.Content.Intent intent) [0x00027] in /Users/builder/azdo/_work/1/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Android.Content.ContextWrapper.cs:3364 
  at Corporate_messenger.Droid.MainActivity.SetPermission (System.String param1, System.String param2) [0x00028] in D:\Project\Xamarin\Messanger\Corporate messenger\Corporate messenger.Android\MainActivity.cs:103 
  --- End of managed Java.Lang.SecurityException stack trace ---
java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.huawei.systemmanager/.appcontrol.activity.StartupAppControlActivity (has extras) } from ProcessRecord{2f6f6d7 8007:com.companyname.corporate_messenger/u0a410} (pid=8007, uid=10410) requires com.huawei.permission.external_app_settings.USE_COMPONENT
    at android.os.Parcel.createException(Parcel.java:2091)
    at android.os.Parcel.readException(Parcel.java:2059)
    at android.os.Parcel.readException(Parcel.java:2007)
    at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3908)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1738)
    at android.app.Activity.startActivityForResult(Activity.java:5412)
    at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597)
    at android.app.Activity.startActivityForResult(Activity.java:5337)
    at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583)
    at android.app.Activity.startActivity(Activity.java:5819)
    at android.app.Activity.startActivity(Activity.java:5787)
    at crc6480b75fa72058fc63.MainActivity.n_onCreate(Native Method)
    at crc6480b75fa72058fc63.MainActivity.onCreate(MainActivity.java:40)
    at android.app.Activity.performCreate(Activity.java:8214)
    at android.app.Activity.performCreate(Activity.java:8202)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1320)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4033)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4247)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2613)
    at android.os.Handler.dispatchMessage(Handler.java:110)
    at android.os.Looper.loop(Looper.java:219)
    at android.app.ActivityThread.main(ActivityThread.java:8668)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1209)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:924)
    at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:674)
    at com.android.server.wm.HwActivityStarter.startActivity(HwActivityStarter.java:278)
    at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1737)
callee: null 1665/2209

}

应用程序可以在其own.Basically上打开此页面,此问题发生在华为手机上。目前,我正在为android编写一个应用程序。但是xamarin允许您为iOS编写代码,所以在将来我也会在那里添加这样的函数。

EN

回答 1

Stack Overflow用户

发布于 2022-08-31 08:57:27

嗯,它告诉你,在华为,你错过了一个许可:

cmp=com.huawei.systemmanager/.appcontrol.activity.StartupAppControlActivity {Java.Lang.SecurityException:权限拒绝:从ProcessRecord{2f6f6d7 8007:com.companyname.corporate_messenger/u0a410} (pid=8007,uid=10410)开始的意图{Java.Lang.SecurityException(有额外的)}需要com.huawei.permission.external_app_settings.USE_COMPONENT --> Android.OS.RemoteException:远程堆栈跟踪:

所以我猜,当你发现你在华为手机上的时候,应该把这个权限添加到你的清单中,或者通过编程的方式请求它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73553247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档