9***@qq.com
9***@qq.com
  • 发布:2020-05-19 20:19
  • 更新:2020-06-23 16:31
  • 阅读:810

使用native调用原生方法安装APP报错

分类:Native.js
           var filePath = plus.io.convertLocalFileSystemURL("_doc/update/test.apk");  
        console.log(filePath)  

        var File = plus.android.importClass("java.io.File");  
        var apkFile = new File(filePath);  

        var Intent = plus.android.importClass("android.content.Intent");  
        var main = plus.android.runtimeMainActivity();  
        var Uri = plus.android.importClass("android.net.Uri");  
        var FileProvider = plus.android.importClass("android.support.v4.content.FileProvider");  

        var intent = new Intent(Intent.ACTION_VIEW);  
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  

        var Build = plus.android.importClass("android.os.Build");  

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {  
            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);  

            var contentUri = plus.android.invoke(FileProvider, "getUriForFile", main, "io.test.fileprovider", apkFile)  

            intent.setDataAndType(contentUri, "application/vnd.android.package-archive");  

        } else {  
            intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");  
        }  

        //卸载APP  
        //var packageURI = Uri.parse("package:io.test");  
        //var intent = new Intent(Intent.ACTION_DELETE, packageURI);  
        //main.startActivity(intent);  

        main.startActivity(intent);

上面这段代码在小米和华为EMUI10以下的手机执行是能够正确的安装apk文件的,但是放在EMUI10以上的手机执行的时候就会报错。

错误日志: Uncaught android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=application/vnd.android.package-archive flg=0x1 };at io.dcloud.PandoraEntryActivity.startActivity

这样的错误该怎样解决呀

2020-05-19 20:19 负责人:无 分享
已邀请:
fjy1012

fjy1012

我的是下载文件后直接打开文件,手机会自动识别文件类型,是apk后缀的会跳转到安装界面,同一款app会覆盖原来版本

  • 9***@qq.com (作者)

    你是用hbuilderx打包的吧

    2020-07-28 14:16

  • fjy1012

    回复 9***@qq.com: 云打包的

    2020-07-29 09:01

  • 9***@qq.com (作者)

    回复 fjy1012: 用hbuilderx的云打包没有问题,使用hbuilder云打包就会有问题

    2020-07-29 10:02

  • fjy1012

    回复 9***@qq.com: 你这不搞笑吗,官方都说了应该用hbuilderX

    2020-07-30 13:42

  • fjy1012

    hbuilder是多少年前的东西?

    2020-07-30 13:43

该问题目前已经被锁定, 无法添加新回复