安装和卸载apk
http://android.git.kernel.org/?p=platform/packages/apps/PackageInstaller.git;a=tree;h=refs/heads/donut;hb=refs/heads/donut
?
<activity android:name=".PackageInstallerActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="content" /> <data android:scheme="file" /> <data android:mimeType="application/vnd.android.package-archive" /> </intent-filter></activity>?<activity android:name=".UninstallerActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.DELETE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="package" /> </intent-filter></activity>
String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");startActivity(intent);
Uri packageURI = Uri.parse("package:com.android.myapp");Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);startActivity(uninstallIntent);为了安装更友好:
int result = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);if (result == 0) { // show some dialog here // ... // and may be show application settings dialog manually Intent intent = new Intent(); intent.setAction(Settings.ACTION_APPLICATION_SETTINGS); startActivity(intent);}