当前位置: 首页 > 知识库问答 >
问题:

未找到可处理意图应用程序设置的活动

倪棋
2023-03-14
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {

        Intent i = new Intent(Settings.ACTION_APPLICATION_SETTINGS, Uri.parse("package:" + getPackageName()));
        finish();
        startActivity(i);
        return;

    }

我尝试检查上面的sdk版本marshmello,但每次我尝试运行它,总是导致这样的错误

12-26 08:21:16.982 6330-6330/com.example.asus.retrofittest3 E/AndroidRuntime: FATAL EXCEPTION: main
                                                                          Process: com.example.asus.retrofittest3, PID: 6330
                                                                          java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.asus.retrofittest3/com.example.asus.retrofittest3.HomeActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_SETTINGS dat=package:com.example.asus.retrofittest3 }
                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2706)
                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767)
                                                                              at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514)
                                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                              at android.os.Looper.loop(Looper.java:163)
                                                                              at android.app.ActivityThread.main(ActivityThread.java:6205)
                                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
                                                                           Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_SETTINGS dat=package:com.example.asus.retrofittest3 }
                                                                              at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1816)
                                                                              at android.app.Instrumentation.execStartActivity(Instrumentation.java:1525)
                                                                              at android.app.Activity.startActivityForResult(Activity.java:4402)
                                                                              at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
                                                                              at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67)
                                                                              at android.app.Activity.startActivityForResult(Activity.java:4360)
                                                                              at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720)
                                                                              at android.app.Activity.startActivity(Activity.java:4699)
                                                                              at android.app.Activity.startActivity(Activity.java:4667)
                                                                              at com.example.asus.retrofittest3.HomeActivity.onCreate(HomeActivity.java:49)
                                                                              at android.app.Activity.performCreate(Activity.java:6864)
                                                                              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 
                                                                              at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1514) 
                                                                              at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                              at android.os.Looper.loop(Looper.java:163) 
                                                                              at android.app.ActivityThread.main(ActivityThread.java:6205) 
                                                                              at java.lang.reflect.Method.invoke(Native Method) 
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 

不确定哪里出了问题,已经尝试了stackoverflow的一些建议,但仍然没有解决问题

共有3个答案

穆洋
2023-03-14

这里是这样工作的

    fun Activity.appSettings(): Intent {
      return Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).also {
        val uri = Uri.parse("package:$packageName")
        it.flags = Intent.FLAG_ACTIVITY_NEW_TASK
        it.data = uri
     }
  }

然后通过上下文从任何地方调用它

 val localContext = LocalContext.current as ComponentActivity

 localContext.appSettings().apply {
    localContext.startActivity(this)
}

作为一个扩展功能,它工作得很好

郗鹏
2023-03-14

嗯,也许可以这样试试?

 Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
        Uri.fromParts("package", getPackageName(), null));
江宏伟
2023-03-14

此处的设置操作:<代码>操作\u应用程序\u设置(活动操作:显示设置以允许配置与应用程序相关的设置。)你没有权限。请将其更改为ACTION\u APPLICATION\u DETAILS\u SETTINGS(活动操作:显示特定应用程序的详细信息屏幕)。

发件人:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    Intent i = new Intent(Settings.ACTION_APPLICATION_SETTINGS, Uri.parse("package:" + getPackageName()));
    finish();
    startActivity(i);
    return;
}

到:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    Intent i = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName()));
    finish();
    startActivity(i);
    return;
}

 类似资料:
  • 我正在编写一个程序,当一个特定的短信到达手机时,我的应用程序中的主要活动应该被调用。我已经注册了一个< code>BroadcastReceiver,调用该活动的意图在< code>onReceive()方法中。问题是,每次我发送这个特定的短信,我得到一个关闭的力量。在读取logcat时,我看到了下面的NullPoint异常: 但就我而言,一切都做对了。谁能告诉我问题在哪里?提前谢谢你。 以下是清

  • 我有一个斜杠屏幕开始一个菜单,从我的菜单,我试图打开一个新的活动,尽管我得到了一个错误,当我这样做和应用程序崩溃。 我的清单 编辑:直接调用类工作:

  • 我对这个android编程是新手。所以,现在当我想从一个活动转到另一个活动时,我遇到了一个问题。当我在模拟器中运行时,它显示MyDemo在按下按钮指向另一个页面后已经停止工作。我已经阅读和尝试了很少的解决方案张贴在类似的问题,但似乎不能解决问题。任何建议都会对我有很大帮助。谢谢你。 这是错误日志: 09-09 10:56:36.046 247 4-2489/com.example.dothis.d

  • 在我的应用程序中,我有一个自定义的自动下载和安装APK,它是这样工作的 Android清单: 当使用普通文件时://它确实有效 在使用文件提供程序时,我是否遗漏了什么?活动没有启动是因为找不到文件吗?我需要额外的许可吗?(现在我有互联网,在外部存储上读写)

  • 我正在尝试启用设备管理,这样我就可以在Android9中创建二级用户。 首先,使用ACTION_ADD_DEVICE_ADMIN发送一个意图,如下所示: deviceAdminReceiver必须在manifest.xml中预先定义,并使用适当的意图筛选器: 注意:我遵循了以下谷歌Android指南https://developer.Android.com/guide/topics/admin/d

  • 我正在寻找实现这一点的一般设计: 我想注册到ActivityRecognition API,以便在此API不时调用的IntentService中接收定期更新,而我的应用程序中的所有其他内容都是完全非活动的(这里的目标是避免耗尽设备上过多的电池电量)。 问题是,通过新的ActivityRecognition API设计,它与GooglePlayServices客户端绑定,例如: 从逻辑上讲,如果创建