Android第三方应用安装来源设置分析

2014-11-24 12:58:01 · 作者: · 浏览: 2

startActivity(newIntent);

调用AndroidManifest.xml安装和卸载


在AndroidManifest.xml的源码中我们知道:
packages\apps\PackageInstaller\AndroidManifest.xml
android:configChanges="orientation|keyboardHidden"
android:theme="@style/TallTitleBarTheme">










android:configChanges="orientation|keyboardHidden"
android:theme="@style/TallTitleBarTheme">









安装一个程序:


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: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);
}