Android安装和卸载程序

来源:互联网 发布:中国税务网络大学网址 编辑:程序博客网 时间:2024/04/30 02:34

Android软件安装器Install

http://houjunli001.javaeye.com/blog/617405

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

[java] view plaincopy
  1. < activity android:name=".PackageInstallerActivity">     
  2. < intent-filter>     
  3. < action android:name="android.intent.action.VIEW" />     
  4. < category android:name="android.intent.category.DEFAULT" />     
  5. < data android:scheme="content" />     
  6. < data android:scheme="file" />     
  7. < data android:mimeType="application/vnd.android.package-archive" />     
  8. < /intent-filter>     
  9. < /activity>    
  10.    
  11. < activity android:name=".UninstallerActivity">     
  12. < intent-filter>     
  13. < action android:name="android.intent.action.VIEW" />     
  14. < action android:name="android.intent.action.DELETE" />     
  15. < category android:name="android.intent.category.DEFAULT" />     
  16. < data android:scheme="package" />     
  17. < /intent-filter>     
  18. < /activity>   

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

[java] view plaincopy
  1. String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";        
  2. Intent intent = new Intent(Intent.ACTION_VIEW);     
  3.     
  4. intent.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive");     
  5. //或者     
  6. //intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");      
  7.     
  8. startActivity(intent);  
  

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

 

[java] view plaincopy
  1. Uri packageURI = Uri.parse("package:com.android.myapp");        
  2. Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);        
  3. startActivity(uninstallIntent);     

默认是不支持安装非市场程序的 因此判断一下

[java] view plaincopy
  1. int result = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);     
  2. if (result == 0) {     
  3. // show some dialog here     
  4. // ...     
  5. // and may be show application settings dialog manually     
  6. Intent intent = new Intent();     
  7. intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);     
  8. startActivity(intent);    
  9. }   

原文地址:点击打开链接

原创粉丝点击