Install Android APK programmatically 

Joined:
07/27/2010
Posts:
128

June 30, 2011 12:36:26    Last update: July 01, 2011 09:43:54
  1. Code
    public void install(View view) {
    	String url = urlField.getText().toString();
    	Log.d("InstallApp", "install: " + url);
    	Intent intent = new Intent();
    	intent.setAction(android.content.Intent.ACTION_VIEW);
    	intent.setDataAndType(Uri.parse(url), "application/vnd.android.package-archive");
    
    	// intent
    	// .setData(Uri.parse(url))
    	// .setType("application/vnd.android.package-archive");
    	startActivity(intent);
    }
    

  2. Screenshots:



  3. Logcat:
    D/InstallApp(  338): install: file:///sdcard/GetApplicationVersion-debug.apk
    I/ActivityManager(   60): Starting activity: Intent { act=android.intent.action.VIEW dat=file:///sdcard/GetApplicationVersion-debug.apk typ=application/vnd.android.package-archive cmp=com.android.packageinstaller/.PackageInstallerActivity }
    I/ActivityManager(   60): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.PackageInstallerActivity: pid=345 uid=10026 gids={}
    I/PackageParser(  345): com.android.appinfo: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
    I/ActivityManager(   60): Displayed activity com.android.packageinstaller/.PackageInstallerActivity: 1109 ms (total 1109 ms)
    I/ARMAssembler(   60): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x2ef038:0x2ef0f4] in 5285633 ns
    


  4. Using http://... as the URI for the APK does not work. Android fails to find a handler for the intent (logcat):
    No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://localhost/hello.apk typ=application/vnd.android.package-archive }
    

    Therefore, download the APK to sdcard then fire the Intent.
Share |
| Comment  | Tags