android:软件的安装和卸载源代码
16lz
2021-01-23
安装:从sdcardString 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);
安装或升级 从网络
Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); /* 调用getMIMEType()来取得MimeType */ String type = getMIMEType(f); /* 设置intent的file与MimeType */ intent.setDataAndType(Uri.fromFile(f),type); startActivity(intent);
需要的权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission
卸载
Uri packageURI = Uri.parse("package:com.android.myapp"); Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); startActivity(uninstallIntent);
更多相关文章
- 2010-03-03 传智播客—Android(五)数据存储之五网络数据交互
- 运行时权限解析以及申请的实现(可完美解决java.lang.SecurityExce
- 转载:Android 获取ROOT权限原理解析
- Android Asynchronous Http Client-Android异步网络请求客户端接
- 《IT蓝豹》android 7种网络连接方式
- Android中EventBus事件总线发送网络请求结果更新UI
- Android 网络请求框架之Rxjava+Retrofit