如何在代码中执行apk安装

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.Button;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button installBtn = (Button)findViewById(R.id.install_btn);
        installBtn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(Intent.ACTION_VIEW);
				intent.setDataAndType(Uri.fromFile(new File("/sdcard/xxx.apk")),
						"application/vnd.android.package-archive");

				startActivity(intent);
			}
		});

        Button uninstallBtn = (Button)findViewById(R.id.uninstall_btn);
        uninstallBtn.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Uri uri = Uri.parse("package:com.xxx.xxx(包名)");
				Intent intent2 = new Intent(Intent.ACTION_DELETE, uri);  

<span style="white-space:pre">				</span>// package 一定要有 后面是包名 ,系统软件不能卸载
				MainActivity.this.startActivity(intent2);
			}
		});
    }
}

如何在代码中执行apk安装,布布扣,bubuko.com

时间: 2024-10-27 12:53:30

如何在代码中执行apk安装的相关文章

在 C# 中执行 msi 安装

有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义 msi 安装包的执行过程. 需求 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示这三个产品的安装交互 UI 显然是不恰当的.我们期望用一个统一的自定义 UI 去取代每个产品各自的 UI. 实现思路 平时使用 msiexec.exe 习惯了,所以最直接的想法就是在一个子进程中执行: msiexec.exe /qn 这样固然是能够完成任务,但是不是太简陋了? 安装开始后我们想取消这

Android 在Android代码中执行命令行

1.路径最好不要是自己拼写的路径/mnt/shell/emulated/0/wifidog.conf 最好是通过方法获取的路径,不然可能导致命令无效  (挂载点的原因) public static final String SDCARD_ROOT=Environment.getExternalStorageDirectory().getAbsolutePath(); public static final String AAA_PATH=SDCARD_ROOT+"/wifidog.conf&qu

java util - 在java代码中执行javascript代码工具 rhino-1.7.7.jar

需要 rhino-1.7.7.jar 包 代码示例: package cn.java.mozilla.javascript; import org.mozilla.javascript.Context; import org.mozilla.javascript.Scriptable; public class Test { public static void main(String[] args) { test4JsNormalCode(); test4JsObj(); test4JsFun

java代码中执行liunx命令

public static String runShell(String command){ try{ String[] commands = isLinux()?new String[]{"/bin/sh","-c",command}:new String[]{"cmd","/c",command}; Process process = Runtime.getRuntime().exec(commands); InputSt

Java代码中执行Linux命令,亲测可用

前提需要知道怎么在linux怎么新建java文件和怎么编译,否则请先学其他知识!! import java.io.*;public class Test{ public static void main(String[] args) throws Exception{try{Process process=Runtime.getRuntime().exec("ls ./");InputStreamReader reader = new InputStreamReader(process

深度探究apk安装过程

一.先验知识 0.PcakageaManagerService版本变化 1.概述 2.PackageManagerService服务启动流程 3. PackageManagerService入口 二.四种安装方式 1.系统应用安装2.网络下载应用安装3. ADB工具安装 4.第三方应用安装 三.总结 概述 1.1概述 众所周知,Android应用最终是打包成.apk格式(其实就是一个压缩包),然后安装至手机并运行的.APK即Android Package的缩写. Android系统在启动的过程中

Android 下载APK 安装APK 打开APK

今天有了一个这样的需求 :下载一个apk文件,然后当你下载完成后,按钮的文字发生改变,变成点击安装,然后安装完成之后,变成打开. 这是下载apk的方法: /** * 后台在下面一个Apk 下载完成后返回下载好的文件 * * @param httpUrl * @return */ private File downFile(final String httpUrl) { new Thread(new Runnable() { @Override public void run() { try {

【转】Android系统中的.apk文件和dex文件

1. *.apk文件 APK是Android Package的缩写,即Android安装包.通过将APK文件直接传到Android模拟器或Android手机中执行即可安装. 使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件组合成一个应用程序包(APK).Dex是Dalvik VM executes的全称,即Android Dalvik执行程序. META-INF\ Jar文件 res\ 存放资源文件 AndroidManifest.xml

通过库函数API和C代码中嵌入汇编代码剖析系统调用的工作机制

作者:吴乐 山东师范大学<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本次实验的主要内容就是分别采用API和gcc嵌入汇编的方式调用system_call.系统调用其实就是操作系统提供的服务.我们平时编写的程序,如果仅仅是数值计算,那么所有的过程都是在用户态完成的,但是我们想将变量打印在屏幕上,就必须调用printf,而printf这个函数内部就使用了write这个系统调用.操作系统之所以以system ca