如何在Android中启动应用程序信息屏幕?

5
我想要编写程序来启动应用程序管理界面(设置 -> 应用 -> 管理应用程序 -> 应用信息),但我不知道如何实现。有没有人能帮忙解决这个问题?
提前致谢。

请查看此链接,据我所知这是同样的问题:https://dev59.com/_G855IYBdhLWcg3wUCWC - TimVK
请查看以下链接:https://dev59.com/_G855IYBdhLWcg3wUCWC - mahipat
2个回答

4
根据这个链接,在Android 2.3中,你可以使用ACTION_APPLICATION_DETAILS_SETTINGS Intent并提供正确的Uri来启动startActivity(),以打开应用程序的“管理”屏幕。
private static final String SCHEME = "package";

private static final String APP_PKG_NAME_21 = "com.android.settings.ApplicationPkgName";

private static final String APP_PKG_NAME_22 = "pkg";

private static final String APP_DETAILS_PACKAGE_NAME = "com.android.settings";

private static final String APP_DETAILS_CLASS_NAME = "com.android.settings.InstalledAppDetails";

public static void showInstalledAppDetails(Context context, String packageName) {
    Intent intent = new Intent();
    final int apiLevel = Build.VERSION.SDK_INT;
    if (apiLevel >= 9) { // above 2.3
        intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
        Uri uri = Uri.fromParts(SCHEME, packageName, null);
        intent.setData(uri);
    } else { // below 2.3
        final String appPkgName = (apiLevel == 8 ? APP_PKG_NAME_22
                : APP_PKG_NAME_21);
        intent.setAction(Intent.ACTION_VIEW);
        intent.setClassName(APP_DETAILS_PACKAGE_NAME,
                APP_DETAILS_CLASS_NAME);
        intent.putExtra(appPkgName, packageName);
    }
    context.startActivity(intent);
}

3
如果答案正确,那么您应该投票将问题标记为已解决,并给予花时间提供答案的人以荣誉。 - user874649
通过点赞答案并点击接受按钮,@ChiragPipaliya。 - user874649
谢谢AlexandruAverescu... :) - Dheeresh Singh

4

API Level 9(Android 2.3)开始,您可以使用android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS启动一个Intent。因此:

packageName = "your.package.name.here"

try {
    //Open the specific App Info page:
    Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    intent.setData(Uri.parse("package:" + packageName));
    startActivity(intent);

} catch ( ActivityNotFoundException e ) {
    //e.printStackTrace();

    //Open the generic Apps page:
    Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
    startActivity(intent);

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接