是否可以从另一个应用程序启动“应用程序信息”屏幕(即Menu
Settings
Applications
Manage Applications
→选择任何应用程序)?
发布于 2015-10-23 16:51:39
我使用Paolo solution是为了在过去用户拒绝权限请求时,在SDK 23+中打开应用详细信息设置,并在权限请求系统对话框中选择“不再询问”选项。
但在本例中,我直接使用了getPackageName()
方法。
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
发布于 2014-07-03 13:32:38
老问题,改进的答案:
/**
* <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;
}
发布于 2010-12-12 20:34:43
在Android2.3中,你可以通过一个合适的Uri
在ACTION_APPLICATION_DETAILS_SETTINGS
Intent
上使用startActivity()
来打开你的应用程序的“管理”屏幕。然而,这是Android 2.3的新特性--在以前的Android版本中,我不知道有一种方法可以做到这一点。
https://stackoverflow.com/questions/4421527
复制相似问题