java manager.apk_java实现静默安装apk
静默安装就是偷偷的把一个应用安装到手机上,就是屏蔽确认框,通过反射
只能写个主要的代码,这个是在linux编译用到,因为静默安装需要调用系统服务,在源码下编译,我也是搞了好久
InstallActivity.java
package com.smart.Installback;
import java.io.File;
//import com.android.packageinstaller.R;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.IPackageInstallObserver;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
public class InstallActivity extends Activity {
/** Called when the activity is first created. */
private Button btn=null;
private Button btn2=null;
private final int INSTALL_COMPLETE = 1;
final static int SUCCEEDED = 1;
final static int FAILED = 0;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String fileName = Environment.getExternalStorageDirectory() + "/UC.apk";
Uri uri = Uri.fromFile(new File(fileName));
int installFlags = 0;
PackageManager pm = getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo("com.uc.browser",
PackageManager.GET_UNINSTALLED_PACKAGES);
if(pi != null) {
installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;
}
} catch (NameNotFoundException e) {
}
// String installerPackageName = getIntent().getStringExtra(
// Intent.EXTRA_INSTALLER_PACKAGE_NAME);
PackageInstallObserver observer = new PackageInstallObserver();
pm.installPackage(uri, observer, installFlags, "com.uc.browser");
}
private OnClickListener listener2=new OnClickListener(){
public void onClick(View v) {
String fileName = Environment.getExternalStorageDirectory() + "/UC.apk"; ivate
Uri uri = Uri.fromFile(new File(fileName));
int installFlags = 0;
PackageManager pm = getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo("com.uc.browser",
PackageManager.GET_UNINSTALLED_PACKAGES);
if(pi != null) {
installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;
}
} catch (NameNotFoundException e) {
}
// String installerPackageName = getIntent().getStringExtra(
// Intent.EXTRA_INSTALLER_PACKAGE_NAME);
PackageInstallObserver observer = new PackageInstallObserver();
pm.installPackage(uri, observer, installFlags, "com.uc.browser");
}
};
class PackageInstallObserver extends IPackageInstallObserver.Stub {
public void packageInstalled(String packageName, int returnCode) {
Message msg = mHandler.obtainMessage(INSTALL_COMPLETE);
msg.arg1 = returnCode;
mHandler.sendMessage(msg);
}
};
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case INSTALL_COMPLETE:
// Update the status text
// Show the ok button
int centerTextLabel;
Drawable centerTextDrawable = null;
if(msg.arg1 == SUCCEEDED) {
} else {}
if (centerTextDrawable != null) {}
break;
default:
break;
}
}
};
}
main.xml
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
以上所述就是本文的全部内容了,希望大家能够喜欢。
java manager.apk_java实现静默安装apk相关推荐
- Android 静默安装apk方法--兼容了5.1, 6.0, 7.1, 10, 11等各安卓版本
系统级app需要实现静默安装apk的功能,且能兼容各安卓系统版本 废话不多说,直接上代码: Process process = null;BufferedReader successResult = ...
- android adb 静默安装,Android_如何静默安装
Android常用代码之普通及系统权限静默安装APK 本文主要介绍程序如何安装apk,包括普通模式安装和系统权限静默安装. 如果是非系统应用请直接查看:Android常用代码之APK root权限静默 ...
- 非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名
非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名 最近自家的系统要做一个升级服务,里面有三个功能,第一个是系统升级,也就是 ...
- Android构建系统级应用静默授权,静默安装
文章目录 背景 目标 实现 获取系统应用权限 原理 实现 静默安装 普通升级安装 shell命令安装 模拟系统安装程序流程 背景 基于定制平板系统开发应用,能获得安卓源码层的支持. Android8. ...
- Android adb 安装APK失败 error:不是内部或外部命令,也不是可运行的程序
前言 最近在调试静默安装apk 需要调试adb install xxx.apk 结果报错不是内部或外部命令,也不是可运行的程序! 解决方法 1.保证SDK路径下的 platform-tools 文件夹 ...
- linux java静默安装软件,linux纯净版脚本执行安装JDK、静默安装Weblogic
一.首先准备JDK.weblogic安装包,本次使用的安装包版本为jdk-7u80-linux-x64.rpm.fmw_12.1.3.0.0_wls.jar,以此为例 进行JDK脚本安装,需要用ROO ...
- Android 4.0.4系统下实现apk的静默安装和启动
转自http://www.linuxidc.com/Linux/2013-02/79403.htm 未亲测 最近在Android 4.0.4系统下实现apk的静默安装和启动的功能,这里和大家分享一下, ...
- java安装安卓模拟器下载安装_Android模拟器安装及其安装APK方法
一.Android模拟器安装 1.由于Android模拟器需要在Java环境才能运行,先下载Java安装吧.(如已有Java环境的可跳过此步) 1)你可以在下面地址下载到最新的jdk: 双击下载回来的 ...
- Android 无需root实现apk的静默安装
转载请注明出处:http://blog.csdn.net/yyh352091626/article/details/50533137 Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通 ...
最新文章
- 影像组学视频学习笔记(31)-柱状图的python实现、Li‘s have a solution and plan.
- 【BZOJ】1681: [Usaco2005 Mar]Checking an Alibi 不在场的证明(spfa)
- stm32qspi内存映射_stm32 QSPI内存映射模式
- C++手册_迅为干货 | C程序调用shell
- 【java学习笔记-io流 文件读写和键盘读写】带缓存的输入/输出流和数据输入/输出流
- 权威值和枢纽值:HITS算法
- plc模拟器软件_你的PLC和触摸屏为什么总是通讯不上?
- java等边三角形代码_Java实现等边三角形--小程序,大思想
- pytorch之参数的初始化
- Win能ping通win7,但是无法访问共享的解决方法
- Sublime Text 3安装与使用
- [转载] python set 集合详解
- 数字大写;大写的一到十;…
- 2023北京眼镜展览会暨首届智能眼镜展览会
- 51nod 1428 贪心
- 四旋翼无人机的三维动态Matlab仿真
- java httpclient cdn_Java 11`HttpClient`下载但不是吗? (负内容长度)
- SQL Server的错误日志
- 利用朴素贝叶斯分类算法对搜狐新闻进行分类(python)
- Python list 常见用法