打开packages\apps\PackageInstaller下的清单文件

XML/HTML代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.           package="com.android.packageinstaller">  
  4.   
  5.     <original-package android:name="com.android.packageinstaller" />  
  6.   
  7.     <uses-permission android:name="android.permission.INSTALL_PACKAGES" />  
  8.     <uses-permission android:name="android.permission.DELETE_PACKAGES" />  
  9.     <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />  
  10.     <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
  11.     <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />  
  12.     <application android:label="@string/app_name">   
  13.         <activity android:name=".PackageInstallerActivity"  
  14.                 android:configChanges="orientation|keyboardHidden"  
  15.                 android:theme="@style/TallTitleBarTheme">  
  16.             <intent-filter>  
  17.                 <action android:name="android.intent.action.VIEW" />  
  18.                 <category android:name="android.intent.category.DEFAULT" />  
  19.                 <data android:scheme="content" />  
  20.                 <data android:scheme="file" />  
  21.                 <data android:mimeType="application/vnd.android.package-archive" />  
  22.             </intent-filter>  
  23.         </activity>  
  24.         <activity android:name=".InstallAppProgress"  
  25.                 android:configChanges="orientation|keyboardHidden"  
  26.                 android:theme="@style/TallTitleBarTheme">  
  27.         </activity>  
  28.         <activity android:name=".UninstallerActivity"  
  29.                 android:configChanges="orientation|keyboardHidden"  
  30.                 android:theme="@style/TallTitleBarTheme">  
  31.             <intent-filter>  
  32.                 <action android:name="android.intent.action.VIEW" />  
  33.                 <action android:name="android.intent.action.DELETE" />  
  34.                 <category android:name="android.intent.category.DEFAULT" />  
  35.                 <data android:scheme="package" />  
  36.             </intent-filter>  
  37.         </activity>  
  38.         <activity android:name=".UninstallAppProgress"  
  39.                 android:configChanges="orientation|keyboardHidden"  
  40.                 android:theme="@style/TallTitleBarTheme">  
  41.         </activity>  
  42.     </application>  
  43. </manifest>   

       项目布局:

XML/HTML代码
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical"  
  6.     tools:context=".MainActivity" >  
  7.   
  8.     <EditText  
  9.         android:id="@+id/et_path"  
  10.         android:layout_width="fill_parent"  
  11.         android:layout_height="wrap_content"  
  12.         android:text="请输入apk的路径" />  
  13.     <Button  
  14.         android:onClick="click"  
  15.          android:layout_width="fill_parent"  
  16.         android:layout_height="wrap_content"  
  17.         android:text="安装"            
  18.         />    
  19. </LinearLayout>  

       逻辑代码如下:

Java代码
  1. public class MainActivity extends Activity {  
  2.   
  3.     private EditText et_path;  
  4.   
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.   
  10.         et_path = (EditText) findViewById(R.id.et_path);  
  11.     }  
  12.   
  13.     public void click(View view) {  
  14.         String path = et_path.getText().toString().trim();  
  15.         /* 
  16.          * <action android:name="android.intent.action.VIEW" /> <category 
  17.          * android:name="android.intent.category.DEFAULT" /> <data 
  18.          * android:scheme="content" /> <data android:scheme="file" /> <data 
  19.          * android:mimeType="application/vnd.android.package-archive" /> 
  20.          */  
  21.         Intent intent = new Intent();  
  22.         intent.setAction("android.intent.action.VIEW");  
  23.         intent.addCategory("android.intent.category.DEFAULT");  
  24.         intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");  
  25.         startActivity(intent);  
  26.     }  
  27. }  

      首先需要AndroidManifest.xml中加入安装程序权限:

      <!-- 安装程序权限 -->

      <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>

      接着将一个名为girl.apk的apk导入sdcard,然后运行项目效果如下

       点击安装

Android APK的安装实例

本文发布:Android开发网
本文地址:http://www.teaching4real.com/android/example/645.html
2017年2月6日
发布:鸡啄米 分类:Android开发实例 浏览: 注册送白菜网:0