安卓系统已安装软件的判断及通过程序安装

标签: 安卓 系统 软件 | 发表时间:2015-11-03 02:47 | 作者:xuanzhui
出处:http://www.iteye.com

1. 查看系统是否已经安装某个应用

private boolean appInstalledOrNot(String uri) {
    PackageManager pm = getPackageManager();
    boolean appInstalled;
    try {
        pm.getPackageInfo(uri, 0);
        appInstalled = true;
    }
    catch (PackageManager.NameNotFoundException e) {
        appInstalled = false;
    }
    return appInstalled;
}

 

 uri是指AndroidManifest.xml文件中的package,是安卓应用的标识符。

 

2. 判断安装的版本号

private int getAPKVersion(String uri) {
    Integer version = -1;

    PackageManager packageManager=getPackageManager();
    try {
    	//0 means all the flags are turned off
        PackageInfo Info=packageManager.getPackageInfo(uri, 0);

        //like 5
        version = Info.versionCode;

        //like 1.0.5
        versionName = Info.versionName;

    } catch (PackageManager.NameNotFoundException e) {
        Log.e("error", e.getMessage());
    }

    return version;
}

 

 

3. 安装

基本思路:apk放到assets目录下,安装时先写到sd,再调用intent安装

private void installScannerPlugin() {
    AssetManager assetManager = getAssets();

    InputStream in;
    OutputStream out;

    try {
        in = assetManager.open("BarcodeScanner.apk");
        out = new FileOutputStream(Environment.getExternalStorageDirectory()
                + File.separator + "BarcodeScanner.apk");

        byte[] buffer = new byte[1024];

        int len;
        while((len = in.read(buffer)) != -1) {
            out.write(buffer, 0, len);
        }

        in.close();

        out.flush();
        out.close();

        Intent intent = new Intent(Intent.ACTION_VIEW);

        intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory()
                        + File.separator + "BarcodeScanner.apk")),
                "application/vnd.android.package-archive");

        startActivity(intent);

    } catch(Exception e) {
        e.printStackTrace();
    }
}

 需要权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [安卓 系统 软件] 推荐:

安卓系统已安装软件的判断及通过程序安装

- - 移动开发 - ITeye博客
 uri是指AndroidManifest.xml文件中的package,是安卓应用的标识符. 基本思路:apk放到assets目录下,安装时先写到sd,再调用intent安装. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

开放的安卓系统遇上了麻烦

- - 博客园_新闻
对于供应商来说,从来没有一条推文显得如此之真实或者具有灾难性. 几年前,为了回应史蒂夫·乔布斯批评 Android 并不是真的开放,Google 的安迪·鲁宾发了一条推文说任何人都可以拉取 Android 的分支并修改,这是开放的真实体现. 对于 Google 来说,不幸的是许多 OEM 对此话信以为真.

不得不看的16项安卓5.0系统的新特性

- - CSDN博客推荐文章
  谷歌正正准备对其 Android 操作系统进行最大规模升级,推出最新版本的 Android 5.0 Lollipop. 除了添加许多功能外,整个用户界面都被改进. 与往常一样,谷歌的 Nexus 系列智能手机和平板电脑将实现首批升级. 谷歌还称,Android 5.0 Lollipop 适应各种型号智能手机、平板电脑、手表甚至电视,可以实现无缝链接.

智能手机美国使用率达50.4%,安卓系统领先

- - Tech2IPO
根据Nielsen的报道,美国智能手机使用率首次超过普通手机. 报道同时指出美国 2012年3月份智能手机使用率为50.4%,其中,就操作系统而言,安卓系统仍然处于绝对领先地位,市场份额为48.5%. 苹果以32%的市场份额位列第二. 其它系统方面,RIM BlackBerry 有11.6% 的市场份额,Windows Mobile 的市场份额为 4.1%,而Windows Phone 为1.7%.

Win8 WP8一边去 微软最赚钱的操作系统是安卓

- - 爱活网最新资讯
也许你觉得微软的Windows 8战略已经失败了,Windows Phone卖得也不够好,但你不用担心软件巨人会亏本,因为微软还有一项超级赚钱的业务:安卓. 今年4月,微软打赢了一场关键的官司,这意味着包括LG、HTC和三星在内的安卓手机厂商每销售一部安卓手机,就要向微软支付相应的专利费. 这个专利费交易也许是微软最赚钱的交易之一.

诺基亚官网显示Nokia X+搭载塞班系统 并非安卓

- - TechWeb 今日焦点 RSS阅读
最新报道: 深挖诺基亚安卓机搭载塞班系统:三款X系列皆为塞班系统. 诺基亚安卓手机 “谣言”是怎么一步一步成真的:. 1.外媒先放出了一个消息,国内外都开始跟风. 微博传诺基亚北京负责安卓手机项目 富士康已提交原型机. 2.还是外媒传出了代号、配置低端、系统定制的细节. 诺基亚安卓手机曝光:代号诺曼底 定位低端 高度定制系统.

iOS 8与安卓系统有哪些相似点与不同点

- - 萝卜网
今天凌晨,苹果在 WWDC 2014 大会发布了 iOS 8 新系统,关于新系统的新功能和新特性,想必大家都已经初步了解. 在初步了解之后,下面我们要讨论的是,iOS 8 的发布对于安卓系统来说意味着什么,它与安卓系统又有哪些异同. 今天的 WWDC 2014 上,苹果用诸多的权限和接口开放接超出了我们的预期,iOS 8 的SDK 含有超过 4000 个新的 API,而且它还有一个 Extensibility 计划,不同的应用可以通过iOS系统级的安全机制,与其它应用进行互动:分享内容至其它应用、在照片应用里使用其它应用的滤镜、在通知栏里添加插件,更夸张的是,支持第三方输入法.

狂赚310亿美元!安卓系统的钱究竟是怎么来的

- - 科幻星系
免费的产品、服务就不赚钱. 看到这句话,奇虎360就偷偷地笑了. 因为以免费杀毒软件及其他应用等为核心的奇虎360市值高达80亿美元,就这周鸿祎还不满意,吵着闹着要私有化. 与之相仿,我们印象中完全免费,甚至被各大手机厂商改造的面目全非的安卓系统,其实也在闷头赚大钱. 据外媒报道,甲骨文代理律师在法庭上披露,谷歌Android操作系统已经创造了310亿美元营收,220亿美元利润,利润率达70%.

2017年第一季度安卓系统安全性生态环境研究

- - FreeBuf.COM | 关注黑客与极客
此报告数据来源为70万份“360透视镜”(360手机卫士团队发布的一款专业检测手机安全漏洞的APP)用户主动上传的漏洞检测报告,检测内容包括最近两年的Android和Chrome安全公告中检出率最高的42个漏洞,涵盖了Android系统的各个层面. 检测结果显示,截止至2017年4月,70万用户中99.99%的Android手机存在安全漏洞,仅有4台手机完全修复了检测中所包含的42个漏洞.

基础系统软件的价值

- 吴羽 - 风轻扬
盛大推出云计算服务,看起来想做类似于Amazon AWS的IaaS. 看了一下,结构化数据管理的功能很弱,只有最简单的Key-Value服务,只有GET/PUT/DEL,没有条件更新没有锁,没有扫描,这让我觉得很不靠谱. 结构化数据管理是99.9%的应用都需要的,而基于盛大云这样简单Key-Value来开发应用是很麻烦的事.