当前位置: 代码迷 >> Android >> Android装配卸载程序具体操作方法解析
  详细解决方案

Android装配卸载程序具体操作方法解析

热度:45   发布时间:2016-05-01 15:23:12.0
Android安装卸载程序具体操作方法解析

在Android安装卸载程序的源码中我们知道:

< 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> 

??

因为根据里面的权限我们可以 从sd卡安装一个程序:

???

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

?

Android安装卸载程序的操作中要想卸载一个程序;

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

??

  相关解决方案