【工具类】如何通过代码安装一个apk文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="fill_parent"
 4     android:layout_height="fill_parent"
 5     android:orientation="vertical" >
 6     <TextView
 7         android:layout_width="fill_parent"
 8         android:layout_height="wrap_content"
 9         android:text="@string/hello" />
10     <EditText
11         android:id="@+id/et_path"
12         android:layout_width="match_parent"
13         android:layout_height="wrap_content"
14         android:text="/sdcard/queryAddress.apk" />
15     <Button
16         android:id="@+id/button1"
17         android:layout_width="wrap_content"
18         android:layout_height="wrap_content"
19         android:onClick="install"
20         android:text="安装" />
21 </LinearLayout>
 1 import java.io.File;
 2 import android.app.Activity;
 3 import android.content.Intent;
 4 import android.net.Uri;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.widget.EditText;
 8
 9 public class DemoActivity extends Activity {
10     private EditText et_path;
11
12     @Override
13     public void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.main);
16         et_path = (EditText) this.findViewById(R.id.et_path);
17     }
18
19     public void install(View view) {
20         String path = et_path.getText().toString().trim();
21
22         Intent intent = new Intent();
23         intent.setAction(Intent.ACTION_VIEW);
24         // intent.setData(Uri.fromFile(new File(path)));
25         // intent.setType("application/vnd.android.package-archive");
26         intent.setDataAndType(Uri.fromFile(new File(path)),
27                 "application/vnd.android.package-archive");
28         startActivity(intent);
29     }
30 }
时间: 2024-10-12 09:47:17

【工具类】如何通过代码安装一个apk文件的相关文章

【工具类】JAVA 以行为单位读取文件并比对

package test20140709; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * 以行为单位读取文件并比对,显示不同行 * @author fushihua-wb * @date 2014-7-11 */ pu

在类里面写代码,代替xml文件

就是这个,以前还真没有做过,这不,这次就见识过了.然后希望给自己一份记忆,给你们一份快捷而已... /** * 代码中设置一般selector * * @param context * @param idNormal * @param idSelected * @param idFocused * @param idUnable * @return */ public static StateListDrawable newSelector(Context context, Drawable i

【Unity】工具类系列教程—— 代码自动化生成!

转载自:https://zhuanlan.zhihu.com/p/30716595?utm_medium=social&utm_source=qq [为什么要做自动化工具] 工具类的创建是为了解决实际问题或者优化既有流程,我们来先看看一些项目里面经常遇到的问题. 程序代码有很多时候类是相似的,因此新建一个功能的时候你会直接复制了之前"相似"的代码块,然后删除掉无用的逻辑功能,但是有时候会出现漏网之鱼. 开完会,策划发过来一个功能案子,UI相关的界面非常的多,你费劲拼完了UI,写

工具类commons-io的Tailer用来监控文件

一.前言:在Linux下有使用tail命令 在Commons-io中也提供这种方法 二.他采用的是线程方式来监控文件内容的变化 1.Tailer类(采用线程的方式进行文件的内容变法) 2.TailerListener类 3.TailerListenerAdapter类,该类是集成了TailerListener的实现空的接口方式 三.测试使用代码 [java] view plain copy package com.hadoop.leran.commons.io; import org.apach

工具类涉及数据库连接、格式转换、文件操作、发送邮件等等

数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.javaimport java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对象 * */ public class ConnDB { private static Connection conn = null; private static final String DRIVER_NAME = "com.mysql.jdbc.Dri

自动化批量部署工具Ansible笔记之ansible安装与Inventory文件

一.ansible简介 ansible是一款自动化运维部署工具,与saltstack,pupet等不同的是,ansible没有采用C/S的架构,即没有客户端与服务端之分.这也就意味着,ansible的安装更加方便,管理节点更加灵活(任何一台安装了ansible的机器都可以充当管理节点). ansible提供了丰富的模块来方便的完成管理任务,对于复杂的管理任务来说,ansible通过编写playbook的方式来批量执行.而且ansible也可以并发的执行操作,可以同时在多台机器上执行playboo

C#代码篇:代码产生一个csv文件调用有两个核心的坑

忙活了半天终于可以开工了,a物品到底要不要放进去取决于两个因素,第一是a有4kg重,只有背包大于等于4kg的时候才能装进去(也就是说当i=1,k<4时f[i,k]=0):第二是当背包的重量大于等于4kg时要不要把a放进去呢(全篇的重点就在这里):Put or not put,that's a question.读者此时应该会有疑惑,肯定是把a放进去啊,反正在放a之前什么都没有,当然这样考虑我也同意,只是我要说的是,这是一个算法问题,必须找寻到规律所在,一环扣一环. 回头看看RN的填坑之旅系列,发

MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; impor

将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由Point派生出Circle类,再由Circle派生出Cylinder类.将类的定义部分分别作为3个头文件,对他们的成员函数的定义分别作为3个源文件 1.Point.h文件 1 #ifndef POINT_H 2 #define POINT_H 3 #include<iostream> //头文件也需要包含这个 4 using namespace std; 5