指定apk文件安装应用,与卸载,通过adb命令卸载系统app

通过点击按钮按照编辑框输入的地址的应用

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
    private EditText et_path;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_path = (EditText) findViewById(R.id.et_path);
    }
    public void click(View view){//按钮单击事件
        String path = et_path.getText().toString().trim();//获取编辑框的内容
        //安装apk
//        <intent-filter>
//        <action android:name="android.intent.action.VIEW" />
//        <category android:name="android.intent.category.DEFAULT" />
//        <data android:scheme="content" />
//        <data android:scheme="file" />
//        <data android:mimeType="application/vnd.android.package-archive" />
//    </intent-filter>
        Intent intent = new Intent();
        intent.setAction("android.intent.action.VIEW");
        intent.addCategory("android.intent.category.DEFAULT");
        intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");
        startActivity(intent);
    }
}

 程序的卸载(通过按钮的单机事件:)   获取手机里所有的应用信息见:

获取手机中所有应用信息,listView复用,为listView插入不同的item,根据包名开启该应用

 public void uninstall(View v){
        //普通程序的卸载
        Intent intent=new Intent();
        intent.setAction("android.intent.action.VIEW");
        intent.setAction("android.intent.action.DELETE");
        intent.addCategory("android.intent.category.DEFAULT");
        intent.setData(Uri.parse("package:"+getPackageName()));//根据包名卸载
        startActivity(intent);//可以是startActivityForResult(intent, requestCode)
    }

管理员权限的见:一键锁屏与重置密码,清除数据,管理员权限

 通过adb命令卸载系统应用:需要手机root

/**
 * 需要手机root
 * adb shell  (#代表超级用户)
 * # cd system/app    (查看系统的app)
 * # ls -l
 * 卸载命令:
 * # rm Browser.apk  (需要卸载的应用名称,这里为浏览器),此时会出现只读不可写的信息如下,所以需要修改成可写
 *        提示: rm failed for Browser.apk,Read-only file system
 * # mount -o remount ,rw /system        (修改系统应用为可读可写)
 * 此时再去删除系统的应用:
 * # rm -r Browser.apk
 */

 

posted @ 2016-06-09 17:46  ts-android  阅读(654)  评论(0编辑  收藏  举报