`
chriszeng87
  • 浏览: 718648 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
apk安装、卸载、详情界面_代码片段 android
	//安装界面
	String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";      
	Intent intent = new Intent(Intent.ACTION_VIEW);   
  
	intent.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive");   
	//或者   	
	//intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");    
  
	startActivity(intent);

	//卸载界面
	Uri packageURI = Uri.parse("package:" + packageName);
	Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);   
	activity.startActivity(uninstallIntent);


	//跳到软件详情页面
	Intent detailsIntent = new Intent();
	String details = "android.settings.APPLICATION_DETAILS_SETTINGS";
	// detailsIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
	Uri uri = Uri.fromParts("package", "cn.android.browser" ,null);
	detailsIntent.setData(uri);
	detailsIntent.setAction(details);
	startActivity(detailsIntent);




//软件详情界面

private static final String SCHEME = "package";
/**
 * 调用系统InstalledAppDetails界面所需的Extra名称(用于Android 2.1及之前版本)
 */
private static final String APP_PKG_NAME_21 = "com.android.settings.ApplicationPkgName";
/**
 * 调用系统InstalledAppDetails界面所需的Extra名称(用于Android 2.2)
 */
private static final String APP_PKG_NAME_22 = "pkg";
/**
 * InstalledAppDetails所在包名
 */
private static final String APP_DETAILS_PACKAGE_NAME = "com.android.settings";
/**
 * InstalledAppDetails类名
 */
private static final String APP_DETAILS_CLASS_NAME = "com.android.settings.InstalledAppDetails";
/**
 * 调用系统InstalledAppDetails界面显示已安装应用程序的详细信息。 对于Android 2.3(Api Level
 * 9)以上,使用SDK提供的接口; 2.3以下,使用非公开的接口(查看InstalledAppDetails源码)。
 * 
 * @param context
 * 
 * @param packageName
 *            应用程序的包名
 */
public static void showInstalledAppDetails(Context context, String packageName) {
	Intent intent = new Intent();
	final int apiLevel = Build.VERSION.SDK_INT;
	if (apiLevel >= 9) { // 2.3(ApiLevel 9)以上,使用SDK提供的接口
		intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
		Uri uri = Uri.fromParts(SCHEME, packageName, null);
		intent.setData(uri);
	} else { // 2.3以下,使用非公开的接口(查看InstalledAppDetails源码)
		// 2.2和2.1中,InstalledAppDetails使用的APP_PKG_NAME不同。
		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);
}
Global site tag (gtag.js) - Google Analytics