精华内容
下载资源
问答
  • 前段时间个人项目里需要加入一个预览word文档的功能,大致流程就是把这个word下载下来...由于交付在即,于是乎有一个想法:将这个demo作为一个插件app放在项目里,然后在需要用到这个功能的时候安装然后使用。搜索引...

            前段时间个人项目里需要加入一个预览word文档的功能,大致流程就是把这个word下载下来,然后用Tencent的X5内核打开。很简单对吧,可是让人头疼的是将这个功能集成至项目后,一直提示预览失败。然而我自己单独写的集成了X5内核的demo确是完美打开,很无语。由于交付在即,于是乎有一个想法:将这个demo作为一个插件app放在项目里,然后在需要用到这个功能的时候安装然后使用。搜索引擎上有很多这样的代码,可是比较凌乱,兼容度差,甚至部分都没有实践过。所以这里总结了一下

           应用内安装主要需要注意的有两点:

           1. 在Android N 之后的设备对于权限操控比较严格,尤其是数据读取共享这一块,需要借助FileProvider

           2. 在Android O 之后的设备对于应用内安装app这个部分做了限制,为了保护用户安全,需要开发者向用户去动态申请

           话不多说,上关键代码 :

           provider的注册:

     <provider
         android:authorities="**.provider"
         android:name="android.support.v4.content.FileProvider"
         android:exported="false"
         android:grantUriPermissions="true">
         <meta-data
             android:name="android.support.FILE_PROVIDER_PATHS"
             android:resource="@xml/file_paths" />
     </provider>

           关于file_paths :

                 在res文件夹下建立xml文件夹,然后添加这个file_paths,接着文件内添加下面代码

    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <root-path
            name="root_path"
            path="." />
    </paths>

           上述步骤完成后,将目标app放在assets下 ,接下来就是安装的部分了:为了适配O之后的设备,我们需要在清单配置文件内声明一个权限:

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

            然后是如下常见权限:

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

           这样基本工作就做完了,接下是读取assets下的app 及 安装:

     public static void prepareInstall(Context context) {
            AssetManager assets = context.getAssets();
            try {
                InputStream stream = assets.open("app-debug.apk");
                if (stream == null) {
                    Log.e("error", "no file");
                    return;
                }
                String folder = "/mnt/sdcard/sm/";
                File f = new File(folder);
                if (!f.exists()) {
                    f.mkdir();
                }
                String apkPath = "/mnt/sdcard/sm/app-debug.apk";
                File file = new File(apkPath);
                file.createNewFile();
                writeStreamToFile(stream, file);
                installApk(context, new File(apkPath));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    
        private static void writeStreamToFile(InputStream stream, File file) {
            try {
                OutputStream output = null;
                try {
                    output = new FileOutputStream(file);
                } catch (FileNotFoundException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                try {
                    try {
                        final byte[] buffer = new byte[1024];
                        int read;
                        while ((read = stream.read(buffer)) != -1)
                            output.write(buffer, 0, read);
                        output.flush();
                    } finally {
                        output.close();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } finally {
                try {
                    stream.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    
    
        private static void installApk(Context context, File file) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            Uri data;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                data = FileProvider.getUriForFile(context,
                        "**.provider",
                        file);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            } else {
                data = Uri.fromFile(file);
            }
            intent.setDataAndType(data, "application/vnd.android.package-archive");
            context.startActivity(intent);
        }

           注意!!!, 申请权限的时候,除了读写以外还要额外添加请求安装未知来源程序的权限,也是为O之后的设备准备的:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
           val haveInstallPermission = packageManager.canRequestPackageInstalls()
           if (!haveInstallPermission) {
               val packageURI = Uri.parse("package:$packageName")
               val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI)
               startActivity(intent)
           }
    }

           这样下来,基本就ok了。然后打开app很简单:

    val packageName = "目标应用的包名"
    val activity = "目标应用的class类名"
    val component = ComponentName(packageName, activity)
    val intent = Intent()
    intent.component = component
    startActivity(intent)

           完工!至于为什么贴两种语言,主要是最近和女票分手了,很伤心,不想翻译了

    展开全文
  • 手机在线下载安装BlackBerry App World应用程序

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    目标:在线安装BlackBerry App World应用程序  (online install)


    方法1:

    手机浏览器访问  http://www.blackberry.com/appworld/download


    方法2:

    USB连接手机到PC机上,然后 PC机浏览器访问 http://us.blackberry.com/apps/app-world/download.html

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 手机安装APP提示:应用安装

    千次阅读 2018-06-20 10:47:57
    Android Studio 选择版本V1,则解决:


    Android Studio 选择版本V1,则解决:

    展开全文
  • 经常有人为了下载某些热门APP,苦于寻找美区、港区等中区以外账号注册,这里我们分享给大家一些港区 App Store 的 Apple ID账户,并把切换Apple ID的完整过程以截图方式呈现给大家: 这里请注意,选择的是App ...

    经常有人为了下载某些热门APP,苦于寻找美区、港区等中区以外账号注册,这里我们分享给大家一些港区 App Store 的 Apple ID账户,并把切换Apple ID的完整过程以截图方式呈现给大家:

    这里请注意,选择的是App Store,为了您的隐私安全,请勿尝试使用附录提供的账户在您手机登录iCloud;

     

    这里请注意,选择的是App Store,为了您的隐私安全,请勿尝试使用附录提供的账户在您手机登录iCloud;

     

     

     附录:

    必盈钱包提供的香港地区App Store账户及密码:

    账户1: z4udndgo2b@icloud.com

    账户2: u8kenxci0x@icloud.com

    账户3: m0paali0ur@icloud.com

    账户4: o8lunycab5@icloud.com

    账户5: w8euqsin0g@icloud.com

    密码:Jiangcong*1234

    注:密码为同一个,首字母大写,其余均为小写,中间为星号。

     

    作者:必盈资讯

    原文出处:大神合作社区

    必盈钱包,全球第一个资产数字化钱包

     

     

    展开全文
  • 否则就跳到应用市场下载。代码如下: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;&lt;/title&...
  • Android - 覆盖安装APP时出现"应用安装"问题的解决方案
  • //检测是否安装应用宝 public boolean isMobile_spExist() { PackageManager manager = this.getPackageManager(); List&lt;PackageInfo&gt; pkgList = manager.getInstalledPackages(0); for (int i =...
  • 最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些...
  • iOS安全之在模拟器中安装APP

    千次阅读 2019-07-05 19:22:13
    我一直在想iOS 模拟器如何安装 微博、UC等一些非系统自带的应用? Xcode提供了simctl命令来对模拟器进行各种操作,这个命令的路径是: /Applications/Xcode.app/Contents/Developer/usr/bin/simctl 1. 要去网上...
  • Android app内部下载安装

    千次阅读 2020-07-07 17:17:56
    下载成功,开始安装,兼容8.0安装位置来源的权限 public static void installApkO(Activity context, String downloadApkPath) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //是否有安装位置来源...
  • 1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约。至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(Account)如...
  • 1、需要安装APP软件先行下载到U盘或microSD卡; 2、插入盒子打开,安装并打开文件管理软件,把APP复制或移动到盒子的系统卡上; 3、直接双击安装APP即可。 注意APP不能安装太多,盒子内存空间一般不大,很容易...
  • APP要做哪些测试?APP测试要注意哪些问题?

    千次阅读 多人点赞 2019-08-02 16:23:38
    而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能测试(流程测试、功能点测试)、兼容性测试、交叉测试、安装卸载测试(包括应用的升级)、压力测试(接口压力测试)、安全测试等等。 一、APP要做哪些...
  • 1、对于已安装应用(包括非本市场安装app),button上直接显示“打开”。 Android上一般要打开一个应用至少要知道它的包名。 问题是如何获取这个包名?需要服务器返回吗?如果服务器上没有包名怎么办?
  • 不拆无损,在北汽EU5,EU7,EX3,EX7安装app应用

    万次阅读 热门讨论 2020-04-18 20:34:55
    为什么要破解,对于车来说我觉得是一个智能设备,当你满怀憧憬的想买一辆带百度只能驾驶的车的时候,你却发现居然连app都不能装。心里那是飘来三个字,那是“惊呆了” 买车之前我可是做了功课,这可是个人工智能的...
  • ios模拟器安装app

    千次阅读 2018-12-14 14:40:32
    xcrun simctl install booted是命令,后面的是需要安装app路径,先去appstore下载或者自己打包编译的ipa,用归档工具打开,拖动playload文件夹下的程序文件到终端即可,按下enter,即可在模拟器上看到安装app ...
  • APP下载页面HTML模板

    千次下载 热门讨论 2014-11-04 20:01:28
    APP下载页面HTML模板,大家可以参考,直接修改图片即可。
  • js判断移动端APP是否安装

    热门讨论 2015-05-13 13:23:06
    js判断移动端APP是否安装 如果安装就打开APP 没有安装就提示下载
  • mac app store无法下载安装应用程序

    千次阅读 2015-01-26 00:58:24
    app store中安装有道词典时报错: 无法完成您的请求。 App Store 出错,请稍后重试。(null) 有人说更改dns可以解决,我尝试了,还是没有解决,一直报同样的错。 后来突然看到app store的菜单 “商店” 里有一...
  • web页面判断是否安装某app,从web启动app应用 web页面判断手机里是否安转应用的原理就是:首先试着打开手机端某个app的本地协议;如果超时就转到app下载页,下载该app。 URL scheme 的作用 客户端应用可以向操作...
  • ...输入powershell,在结果中找到widows powershell应用,如下图所示 ...右键单击widows powershell应用,选择以管理员运行,如下图所示 ...进入输入powershell应用窗口,命令Get-AppxPackage -a...
  • 我们知道iPhone手机iOS系统...今天小编带来了M1芯片mac电脑上安装任意iOS应用App Store没有的也能安装安装APP 下载 Apple Configurator 2 Apple Configurator for mac(配置和部署) 立即下载 Apple Configurator
  • 移动端app开发,原生开发与混合开发的区别

    万次阅读 多人点赞 2019-09-26 18:47:01
    目前市场上主流的APP分为三种:原生APP、Web APP(即HTML5)和混合APP三种,相对应的定制开发就是原生开发、H5开发和混合开发。那么这三种开发模式究竟有何不同呢?下面我们就分别从这三者各自的优劣势来区分比较吧...
  • 就是在手机浏览器中下载app时,能判断该用户是否安装了该应用。如果安装了该应用,就直接打开该应用;如果没有安装应用,就下载应用。那么下面就对在浏览器中,用js判断某用户是否安装了该应用,并判断是否...
  • 使用 if(CheckAppInstalledUtil.isInstalled(this,"此处填写你需要打开应用的包名如com.xxx.xxx")){//判断是否安装 CheckAppInstalledUtil.openApp(this, "... //TODO 去下载 ...
  • 在 h5 页面上,不管用户是否安装过该app,都直接跳转到应用市场,让用户从应用市场上打开app。 思路: 这种场景处理比较简单,直接判断判断是android端还是ios端,然后在点击按钮上赋值对应终端的应用市场下载链接就...
  • Android应用安装后该应用所有相关文件路径有4种情况: system/app 系统自带的应用程序,无法删除。root后可以删除,注意可能造成系统崩溃,不过有的垃圾捆绑软件只能这么删除了 data/app 用户程序安装的目录,有删除...
  • 浏览器判断是否安装APP

    万次阅读 2016-08-01 16:47:43
    前段时间遇到一个小需求:要求在分享出来的h5页面中,有一个立即打开的按钮,如果本地安装了我们的app,那么点击就直接唤起本地app,如果没有安装,则跳转到下载。 因为从来没有做过这个需求,因此这注定是一个苦逼...
  • UNRAID - 安装APP商城及加速下载镜像

    万次阅读 2020-11-23 00:47:47
    在PLUGINS上选择以下几种地址,选择INSTALL,即可安装APPS商城 1.https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg 这个可能会无法访问,...
  • M1芯片MacBook安装手机app

    千次阅读 2021-01-25 19:28:01
    但是从App Store搜索的iPhone与iPad app十分有限,本文则以抖音为例,给大家介绍,如何通过apple configurator 2 这个软件提取ipa安装包,来给M1芯片的MacBook安装手机应用 下载apple configurator 2 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,365,287
精华内容 546,114
关键字:

下载安装app应用