2012-06-22 149 views
4

我想以编程方式开始管理应用程序(设置 - >应用程序 - >管理应用程序 - >应用程序信息)屏幕。我无法做到。谁能帮帮我吗?我如何在android中启动应用程序信息屏幕?

在此先感谢。

+0

检查这个环节,这是同样的问题,据我所知:http://stackoverflow.com/questions/4421527/start-android-application-info-screen – TimVK

+0

请通过下面的链接进入。 http://stackoverflow.com/questions/4421527/start-android-application-info-screen – mahipat

回答

3

按本link

在Android 2.3的,你可以在一个ACTION_APPLICATION_DETAILS_SETTINGS意图使用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); 
} 
+0

大,它的工作.... –

+3

@ChiragPipaliya如果答案是正确的,那么你应该投的问题作为回答,给那些花时间提供给你的人的功劳。 – 2012-06-22 13:59:49

+0

@AlexandruAverescu:我如何给予信贷? –

4

API级别9(Android 2.3),您可以用android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS开始一个意图。因此:

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); 

} 
相关问题