萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> android通過代碼的形式來實現應用程序的安裝與卸載

android通過代碼的形式來實現應用程序的安裝與卸載

 因為應用程序的安裝與卸載模塊在android系統中已經寫好了,所以我們只需要激活就行了

注意:

intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");這一句話中,第一個參數是要安裝的apk的路徑,第二個參數是apk所對應的類型。可以砸tomcat的安裝目錄下的conf目錄下的web.xml中找到

程序運行截圖:

android通過代碼的形式來實現應用程序的安裝與卸載 三聯

 代碼實現如下:

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="安裝"
        android:onClick="install"
        />

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="卸載"
        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 {

	@Override
	protected 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);
	}
	@Override
	public 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;
	}

}
copyright © 萬盛學電腦網 all rights reserved