Я использую @ 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
Значит, микрофон устройства не работает для приложения.
Не думаю, что проблема в коде. Поскольку приложение отлично работает с notmal build. Но для производства prod я столкнулся с проблемой. Похоже, это ошибка в Ionic. Просто хотел проверить, есть ли у кого-нибудь решение.
он находится на стороне плагина / кордовы, поэтому не на ионном ...
Есть новости по этому поводу? У меня такая же ошибка :(
У меня была эта проблема, и я решил ее, добавив разрешения в 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>
код кажется правильным. правильно ли вы добавили плагин, как указано в документации? Является ли Java-код частью apk?