首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何以编程方式启动android应用程序信息屏幕?

如何以编程方式启动android应用程序信息屏幕?
EN

Stack Overflow用户
提问于 2010-12-12 20:06:32
回答 4查看 42.4K关注 0票数 62

是否可以从另一个应用程序启动“应用程序信息”屏幕(即Menu Settings Applications Manage Applications→选择任何应用程序)?

EN

回答 4

Stack Overflow用户

发布于 2015-10-23 16:51:39

我使用Paolo solution是为了在过去用户拒绝权限请求时,在SDK 23+中打开应用详细信息设置,并在权限请求系统对话框中选择“不再询问”选项。

但在本例中,我直接使用了getPackageName()方法。

代码语言:javascript
复制
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
票数 20
EN

Stack Overflow用户

发布于 2014-07-03 13:32:38

老问题,改进的答案:

代码语言:javascript
复制
/**
 * <p>Intent to show an applications details page in (Settings) com.android.settings</p>
 * 
 * @param context       The context associated to the application
 * @param packageName   The package name of the application
 * @return the intent to open the application info screen.
 */
public static Intent newAppDetailsIntent(Context context, String packageName) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
        Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setData(Uri.parse("package:" + packageName));
        return intent;
    } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.FROYO) {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setClassName("com.android.settings",
                "com.android.settings.InstalledAppDetails");
        intent.putExtra("pkg", packageName);
        return intent;
    }
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setClassName("com.android.settings",
            "com.android.settings.InstalledAppDetails");
    intent.putExtra("com.android.settings.ApplicationPkgName", packageName);
    return intent;
}
票数 15
EN

Stack Overflow用户

发布于 2010-12-12 20:34:43

在Android2.3中,你可以通过一个合适的UriACTION_APPLICATION_DETAILS_SETTINGS Intent上使用startActivity()来打开你的应用程序的“管理”屏幕。然而,这是Android 2.3的新特性--在以前的Android版本中,我不知道有一种方法可以做到这一点。

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

https://stackoverflow.com/questions/4421527

复制
相关文章

相似问题

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