静默安装就是偷偷的把一个应用安装到手机上,就是屏蔽确认框,通过反射

只能写个主要的代码,这个是在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相关推荐

  1. Android 静默安装apk方法--兼容了5.1, 6.0, 7.1, 10, 11等各安卓版本

    系统级app需要实现静默安装apk的功能,且能兼容各安卓系统版本 废话不多说,直接上代码: Process process = null;BufferedReader successResult = ...

  2. android adb 静默安装,Android_如何静默安装

    Android常用代码之普通及系统权限静默安装APK 本文主要介绍程序如何安装apk,包括普通模式安装和系统权限静默安装. 如果是非系统应用请直接查看:Android常用代码之APK root权限静默 ...

  3. 非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名

    非ROOT实现静默安装的一些思考与体会,AIDL获取IPackageManager,反射ServiceManager,系统签名 最近自家的系统要做一个升级服务,里面有三个功能,第一个是系统升级,也就是 ...

  4. Android构建系统级应用静默授权,静默安装

    文章目录 背景 目标 实现 获取系统应用权限 原理 实现 静默安装 普通升级安装 shell命令安装 模拟系统安装程序流程 背景 基于定制平板系统开发应用,能获得安卓源码层的支持. Android8. ...

  5. Android adb 安装APK失败 error:不是内部或外部命令,也不是可运行的程序

    前言 最近在调试静默安装apk 需要调试adb install xxx.apk 结果报错不是内部或外部命令,也不是可运行的程序! 解决方法 1.保证SDK路径下的 platform-tools 文件夹 ...

  6. linux java静默安装软件,linux纯净版脚本执行安装JDK、静默安装Weblogic

    一.首先准备JDK.weblogic安装包,本次使用的安装包版本为jdk-7u80-linux-x64.rpm.fmw_12.1.3.0.0_wls.jar,以此为例 进行JDK脚本安装,需要用ROO ...

  7. Android 4.0.4系统下实现apk的静默安装和启动

    转自http://www.linuxidc.com/Linux/2013-02/79403.htm 未亲测 最近在Android 4.0.4系统下实现apk的静默安装和启动的功能,这里和大家分享一下, ...

  8. java安装安卓模拟器下载安装_Android模拟器安装及其安装APK方法

    一.Android模拟器安装 1.由于Android模拟器需要在Java环境才能运行,先下载Java安装吧.(如已有Java环境的可跳过此步) 1)你可以在下面地址下载到最新的jdk: 双击下载回来的 ...

  9. Android 无需root实现apk的静默安装

    转载请注明出处:http://blog.csdn.net/yyh352091626/article/details/50533137 Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通 ...

最新文章

  1. 影像组学视频学习笔记(31)-柱状图的python实现、Li‘s have a solution and plan.
  2. 【BZOJ】1681: [Usaco2005 Mar]Checking an Alibi 不在场的证明(spfa)
  3. stm32qspi内存映射_stm32 QSPI内存映射模式
  4. C++手册_迅为干货 | C程序调用shell
  5. 【java学习笔记-io流 文件读写和键盘读写】带缓存的输入/输出流和数据输入/输出流
  6. 权威值和枢纽值:HITS算法
  7. plc模拟器软件_你的PLC和触摸屏为什么总是通讯不上?
  8. java等边三角形代码_Java实现等边三角形--小程序,大思想
  9. pytorch之参数的初始化
  10. Win能ping通win7,但是无法访问共享的解决方法
  11. Sublime Text 3安装与使用
  12. [转载] python set 集合详解
  13. 数字大写;大写的一到十;…
  14. 2023北京眼镜展览会暨首届智能眼镜展览会
  15. 51nod 1428 贪心
  16. 四旋翼无人机的三维动态Matlab仿真
  17. java httpclient cdn_Java 11`HttpClient`下载但不是吗? (负内容长度)
  18. SQL Server的错误日志
  19. 利用朴素贝叶斯分类算法对搜狐新闻进行分类(python)
  20. Python list 常见用法

热门文章

  1. AC自动机(python)
  2. 2020年中职学计算机有前途吗,2020年南昌中专计算机专业都学什么
  3. h5移动端局部放大效果
  4. 小酌一下:Pycharm 2019.1.3 64位版本破解
  5. HashMap底层实现及原理
  6. AT1219 歴史の研究 解题报告
  7. 题解-bzoj3901 棋盘游戏
  8. 安卓系统为何这么容易被黑客入侵
  9. 如何添加WebService调用时的用户认证
  10. .NET : 在单元测试中使用外部文件作为数据源