【问题标题】:how i can start application info screen in android?我如何在 android 中启动应用程序信息屏幕?
【发布时间】:2018-12-02 21:15:27
【问题描述】:

我想以编程方式开始管理应用程序 (Settings -> Application -> manage application -> Application info) 屏幕。我做不到。谁能帮帮我?

提前致谢。

【问题讨论】:

标签: java android


【解决方案1】:

根据link

在 Android 2.3 中,您可以在带有适当 Uri 的 ACTION_APPLICATION_DETAILS_SETTINGS Intent 上使用 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);
}

【讨论】:

  • @ChiragPipaliya 如果答案是正确的,那么您应该将问题投票为已回答,并感谢花时间向您提供问题的人。
  • @ChiragPipaliya 投票赞成答案并按下接受按钮。
  • 谢谢 AlexandruAverescu... :)
【解决方案2】:

从 API 级别 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);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多