2012-06-22 74 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); 

} 
相關問題