Ionic 4: разрешение Android не работает после сборки prod

Я использую @ ionic-native / android-permissions. Мой код в app.component.ts:

this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.RECORD_AUDIO).then(
          (result)=>{   
       if (!result.hasPermission)
       {
         this.androidPermissions.requestPermissions(
           [this.androidPermissions.PERMISSION.RECORD_AUDIO, 
             this.androidPermissions.PERMISSION.GET_ACCOUNTS]
            ).then(()=>{
             // this.rootPage = HomePage;
             window.location.reload();
            });

   }
     });

Он работает, когда я:

ионная кордова запустить андроид

или

ионная кордова сборка Android

или

ионная кордова сборка Android - выпуск

Но приложение не запрашивает разрешения, если я добавлю --prod. то есть:

ионная кордова запустить android --prod

или

ионная кордова сборка Android --prod --release

Значит, микрофон устройства не работает для приложения.

код кажется правильным. правильно ли вы добавили плагин, как указано в документации? Является ли Java-код частью apk?

Stefan 15.08.2018 08:52

Не думаю, что проблема в коде. Поскольку приложение отлично работает с notmal build. Но для производства prod я столкнулся с проблемой. Похоже, это ошибка в Ionic. Просто хотел проверить, есть ли у кого-нибудь решение.

Arijit 15.08.2018 09:36

он находится на стороне плагина / кордовы, поэтому не на ионном ...

Stefan 15.08.2018 10:57

Есть новости по этому поводу? У меня такая же ошибка :(

MrRobot 30.12.2019 23:51
1
4
808
1

Ответы 1

У меня была эта проблема, и я решил ее, добавив разрешения в config.xml. затем появится всплывающее окно с запросом разрешения у клиента. добавить разрешения в config.xml

<platform name = "android">
....
<config-file parent = "/manifest" target = "AndroidManifest.xml" xmlns:android = "http://schemas.android.com/apk/res/android">
    <uses-feature android:name = "android.hardware.microphone" android:required = "true" />
    <uses-permission android:name = "android.permission.RECORD_AUDIO" />
    <uses-permission android:name = "android.permission.MODIFY_AUDIO_SETTINGS" />
</config-file>
....
</platform>

Другие вопросы по теме