rn-fetch-blob actionViewIntent() 不适用于 Android 8.1 手机?

字节

代码

import RNFetchBlob from 'rn-fetch-blob';

      RNFetchBlob.android
        .actionViewIntent(
          '/storage/emulated/0/Android/data/aaa.bbb.ccc/files/184.apk',
          'application/vnd.android.package-archive',
        )
        .then(() => {
          console.log('success');
        })
        .catch(err => {
          console.log('error');
        });

在模拟器中,上述代码正常运行,并弹出安装APK界面

在手机上(Android 8.1),屏幕闪白,然后什么也没有,也无法弹出安装界面,没有错误提示

雷诺阿罗德

您应该在 AndroidMainFest.xml 中添加权限:

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

但是因为是动态权限,建议大家每次下载安装APK前检查是否有权限。

在这种情况下,你可以写一个原生模块,对于动态检查权限,你可以在进入权限设置页面后看到这个答案

您还可以使用react-native-permission库。

requestInstallUpdate = async () =>  {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.REQUEST_INSTALL_PACKAGES,
      {
        'title': 'Test App',
        'message': 'Test App needs to install updates.'
      }
    )
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log("You can now install updates")
      return true;
    } else {
      console.log("App install permission denied")
      return false;
    }
  } catch (err) {
    console.warn(err)
    return false;
  }
}

然后在您的下载方法中

let canInstall = await requestInstallUpdate() 
if(canInstall){
  //download apk
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

css3视口:适用于chrome模拟器,不适用于android手机

UDP广播不适用于Android手机热点C#

通知不适用于Android oneplus3手机

WhatsApp链接预览不适用于Android手机

Android 设置区域设置不适用于 OPPO 手机?

反应原生动画api不适用于Android手机

适用于Android手机的指纹API

适用于 Azure 的 Android 手机 MFA

带有Facebook登录名的Android应用程序不适用于除我的手机以外的其他手机

在Play商店中发布适用于手机和手表的Android应用

滚动事件不适用于手机

Woocommerce 链接不适用于手机

Android - 声明应用程序仅适用于手机

Android应用程序仅适用于手机,如何?

适用于智能手机和平板电脑的Android应用

适用于Android平板电脑和手机的HTML中不同的图像宽度

Android库不适用于Java 8

ApI AI 应用程序在网络模拟器上运行良好,但不适用于 Android 手机

Android 谷歌地图适用于模拟器,但不适用于真机

媒体查询适用于手机,但不适用于平板电脑

媒体查询不适用于手机,但响应性适用于桌面

rn-fetch-blob 自动请求存储

RN - ResizeMode 不适用于 IOS

在Android手机中发送呼叫时不包含“#”(即用于手机充电)

我的相机应用程序不适用于 kitkat 但适用于其他手机

“此游戏不适用于您的手机” Facebook通知错误

简单的stepCounter不适用于其他手机

Google Play IAB突然不适用于我的手机

表格不适用于小尺寸(如手机)