当前位置: 首页 > news >正文

常州北京网站建设天津制作网站公司推荐

常州北京网站建设,天津制作网站公司推荐,千锋教育郑州校区,初做淘宝客选哪个网站apk 静默安装 - 欧颜柳 - 博客园 (cnblogs.com) 如果需要应用进行静默安装&#xff0c;则需要满足一下两个条件 1 必须添加权限 <uses-permission android:name"android.permission.INSTALL_PACKAGES" /> 2 必须是系统应用&#xff0c;或者系统签名应用 方法…

apk 静默安装 - 欧颜柳 - 博客园 (cnblogs.com)

如果需要应用进行静默安装,则需要满足一下两个条件
1  必须添加权限 <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
2  必须是系统应用,或者系统签名应用

方法 1 通过 adb install 安装

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

/**

 *

 * @param apkFilePath 安装包路径

 * @return true 、false

 */

  public boolean installByADB(String apkFilePath){

    boolean success = false;

    if (apkFilePath == null || apkFilePath.equals("")) {return success;}

    File apkFile = new File(apkFilePath);

    if (!apkFile.exists() || apkFile.isDirectory()) {return success;}

    String[] args = { "pm""install""-r""-d", apkFilePath };

    ByteArrayOutputStream eBAout = new ByteArrayOutputStream();

    ByteArrayOutputStream nBAout = new ByteArrayOutputStream();

    ProcessBuilder processBuilder = null;

    java.lang.Process process = null;

    InputStream eis = null;

    InputStream is = null;

    int num = 0;

    byte[] buffer = new byte[1024];

    try {

      processBuilder = new ProcessBuilder(args);

      process = processBuilder.start();

      eis = process.getErrorStream();

      while ((num = eis.read(buffer)) != -1) {

        eBAout.write(buffer, 0, num);

      }

      is = process.getInputStream();

      while ((num = is.read(buffer)) != -1) {

        nBAout.write(buffer, 0, num);

      }

      String error = eBAout.toString("UTF-8");

      String normal = nBAout.toString("UTF-8");

      if(normal != null && normal.contains("Success")){success = true;}

    } catch (IOException e) {

    } catch (Exception e) {

    } catch (Throwable t) {

    } finally {

      try {

        if (null != eis) {eis.close();}

      } catch (Exception e) {}

      try {

        if (null != is) {is.close();}

      } catch (Exception e) {}

        process.destroy();

      }

      return success;

   }

 方法2 通过PM安装
 这个方法的前提是将framework参与编译并排列第一

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

/**

 * @param context

 * @param apkPath

 */

public void installSilentlyBYPM(Context context, String apkPath) {

    if(apkPath == null || "".equals(apkPath)){return;}

    File apkFile = new File(apkPath);

    (!apkFile.exists() || apkFile.isDirectory()){return;}

    Uri apkPackageURI = Uri.fromFile(apkFile);

    int installFlags = PackageManager.INSTALL_ALL_USERS|PackageManager.INSTALL_REPLACE_EXISTING;

   PackageManager pm = context.getPackageManager();

   pm.installPackage(apkPackageURI, new PackageInstallObserver(){

           @Override

            public void onPackageInstalled(String basePackageName, int returnCode, String msg, Bundle extras){

                super.onPackageInstalled(basePackageName, returnCode, msg, extras);

                if(returnCode == 1){

                     //如果安装包的包名等于basePackageName; 则安装成功

                }

            }

        }, installFlags, context.getPackageName());

 }

http://www.yayakq.cn/news/958950/

相关文章:

  • 效果图网站模板动画网站建设
  • 台州做网站那家好百度网盟广告
  • 网站托管及维护站点提交
  • 网站死链排查最好的响应式网站
  • 东莞网站设地工信部网站备案审核
  • 常州市网站制作国内公关公司排名
  • 网站架构演变过程深圳网页设计公司建设
  • wordpress 自动采集插件重庆seo网络推广
  • 免费信息推广网站做我女朋友网站p0rn视频
  • 做网站的业务员淘宝电脑版网页
  • 做网站搞流量挂联盟广告变现背投广告典型网站
  • 广西建设局网站学校网站建设方案设计
  • 用vs做网站 怎么安装建设银行网站机构
  • 建网站seo网站平台开发报价单
  • 网站建设几个文件夹网站整改建设安全设备方案
  • 温州市建设厅网站首页贵州网站建设seo
  • 湖州哪里做网站南昌网站全新开发
  • 垂直网站建设谈谈你对网络营销的认识
  • 做响应式网站的公司专门做985招聘信息的网站
  • 平台网站建设方案个人网站开发主要问题
  • 服装 网站规划方案牡丹江做网站的公司
  • 巴彦淖尔专业做网站的公司wordpress修改邮箱
  • ag娱乐建设网站汽车网站有哪些
  • 东莞建网站邯郸 网站建设
  • 顺德网站制作案例效果wordpress主查询
  • 怎样创办网站wordpress新增管理员
  • 加氢站个公司好推广品牌
  • 中国职业培训在线官方网站wordpress reset api
  • 信阳住房和城乡建设局网站wordpress开发手机主题教程
  • 盐城城乡建设局网站建站不备案