Ionic 5 Capacitor 3 sqlite.requestPermission() 不显示对话框

Ionic 5 Capacitor 3 sqlite.requestPermission() not showing dialog box

我正在尝试将 CapacitorSQLite 与电容器 3 一起使用。当我调用 SQLite.requestPermission() 时,它没有显示任何请求许可的对话框,并且代码似乎永远不会从该调用返回,因为我可以看到日志在那个电话之前但不是之后。

代码看起来像

async init(): Promise<void> {
    if (this.platform.is('android')) {
      try {
        const sqlite:any = CapacitorSQLite;
        console.log('setting permission handler');
          this.handlerPermissions = sqlite.addListener(
              'androidPermissionsRequest', async (data:any) => { 
              if (data.permissionGranted === 1) {
                console.log('Perm granted');
                this.setupDatabase();
              } else {
                console.log("Permission not granted");
              }      
          });
          console.log('REQUESTING PERMS');
        await sqlite.requestPermissions();
        
      } catch (e) {
        console.log('error on perm req',e);
        const alert = await this.alertCtrl.create({
          header: 'No DB access',
          message: e.message,
          buttons: ['OK']
        });
        await alert.present();
      }
    } else {
      console.log('not running on android platform');
      const alert = await this.alertCtrl.create({
        header: 'Not android',
        message: this.platform.platforms()[0],
        buttons: ['OK']
      });
      await alert.present();
      this.setupDatabase();
    }
  }

可以看到如下日志

'setting permission handler' 'REQUESTING PERMS'

但我也期待以下之一

'Perm granted' “未授予许可” 'error on perm req'

这里是AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest package="io.ionic.starter" xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/title_activity_main" android:launchMode="singleTask" android:name="io.ionic.starter.MainActivity" android:theme="@style/AppTheme.NoActionBarLaunch">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <provider android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
        </provider>
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
    
</manifest>

我错过了什么吗? Capacitor 文档说插件将具有需要添加的用户权限,但对于 sqlite 看不到任何权限。

非常感谢

您不需要此插件的特定权限。查看文档以获取有关如何在 Angular, React or Vue 中使用此插件的示例,具体取决于您的需要。