Because the application installation and uninstallation modules have been written in the android system, we only need to activate them.
Note:
Intent. setDataAndType (Uri. fromFile (file), "application/vnd. android. package-archive "); In this statement, the first parameter is the path of the apk to be installed, and the second parameter is the type of the apk. You can find it in web. xml in the conf directory under the tomcat installation directory.
Program running:
The code is implemented as follows:
1. main. xml
<? Xml version = "1.0" encoding = "UTF-8"?> <LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" android: layout_width = "match_parent" android: layout_height = "match_parent" android: orientation = "vertical"> <Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "install" android: onClick = "install"/> <Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "uninstall" android: onClick = "uninstall"/> </LinearLayout>
2. MainActivity
package com.njupt.install;import java.io.File;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void install(View v){Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);File file = new File(Environment.getExternalStorageDirectory(),"HtmlUI1.apk");intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");startActivity(intent);}public void uninstall(View v){Intent intent = new Intent(); intent.setAction(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:com.njupt.htmlui1"));startActivity(intent);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}