木白余闲
木白余闲
  • 发布:2021-07-14 08:58
  • 更新:2023-08-17 16:58
  • 阅读:2843

使用plus.runtime.install安装整包apk时,监听不到安装完成的事件?

分类:uni-app

使用uniapp开发的安卓应用,在做更新功能时,使用到了plus.runtime.install这个API,当安装下载下来的整包apk时,一调用这个API马上就出发安装成功的回调回调,但是其实只是启动了系统的安装界面,还没有安装。

而安装wgt时,是能正常监听到的。

这是一个bug吗?有什么方法能正常监听到apk的成功安装吗?

2021-07-14 08:58 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

调用plus.runtime.install只是调用系统启动安装程序处理指定的apk文件,并不是表示apk成功安装到手机上。如果需要监听是否安装成功可以使用下面的方法

    var receiver;    
    var main = plus.android.runtimeMainActivity();//获取activity    
    receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver',{    
        onReceive : function(context,intent){//实现onReceiver回调函数    
        plus.android.importClass(intent);//通过intent实例引入intent类,方便以后的‘.’操作    
        console.log(intent.getAction());//获取action    
        main.unregisterReceiver(receiver);//取消监听    
    }});    
    var IntentFilter = plus.android.importClass('android.content.IntentFilter');    
    var Intent = plus.android.importClass('android.content.Intent');    
    var filter = new IntentFilter();    
    filter.addAction(Intent.ACTION_PACKAGE_ADDED);//监听apk安装    
    filter.addAction(Intent.ACTION_PACKAGE_REMOVED);//监听apk卸载    
    filter.addDataScheme("package");    
    main.registerReceiver(receiver,filter);//注册监听
  • 水泥钉

    请问哈 plus.runtime.install安装没反应 下载链接是 _doc/uniapp_temp_1691397194430/download/16913900047629.apk 错误回调返回null 是为什么啊 网上那些权限兼容什么的都处理了

    2023-08-07 16:39

  • 1***@163.com

    回复 7***@qq.com: 解决了没,我也碰到了

    2023-09-22 10:39

  • 1***@qq.com

    回复 7***@qq.com: 我也是,我在本地的文件中找到了apk安装包,还是安装失败,失败回调的参数也是null

    2024-02-02 17:11

艾络格

艾络格

你好 我plus.runtime.install的时候报错{
"code": 10,
"message": "error in opening zip file"
}这是为什么呢

  • l***@163.com

    你install的是个zip吧?试试apk呢

    2022-07-05 16:54

  • g***@yzscg.cn

    回复 l***@163.com: 是wgt包啊

    2024-01-11 14:00

i***@snten.cn

i***@snten.cn

你好,这个问题解决没?我也是相同的问题,需要监听到APK安装完成给与反馈,卡在这里了

  • 1***@163.com

    你好,请问问题解决了吗,我也遇到了相同的问题。

    2023-10-17 14:10

要回复问题请先登录注册