#android #cordova #ionic-framework #npm #ionic4
#Android #кордова #ionic-framework #npm #ionic4
Вопрос:
Я использую Ionic 4 для создания приложения, предназначенного для отправки экстренных SMS-сообщений, поэтому мне нужно, чтобы оно отправлялось программно, без входа в собственное приложение SMS.
Я использую следующий код:
async sendSMS(){
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.SEND_SMS).then(
result => console.log('Has permission?' result.hasPermission),
err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.SEND_SMS )
);
var options = {
replaceLineBreaks: true, // true to replace n by a new line, false by default
android: {
//intent: 'INTENT' // send SMS with the native android SMS messaging
intent: '' // send SMS without opening any other app
}
};
try{
await this.sms.send(this.phoneNumber.toString(),this.textMessage,options);
console.log("sent");
this.mostrarToast("mensage sent");
}
catch(e){
console.log(JSON.stringify(e));
console.log(e);
this.mostrarToast(e);
}
Когда я открываю свой logcat, я получаю это:
2019-03-19 21:17:12.255 11786-11786/io.ionic.starter I/chromium: [INFO:CONSOLE(168)] "Has permission?", source: http://localhost:8080/home-home-module.js (168)
2019-03-19 21:17:12.322 11786-11786/io.ionic.starter I/chromium: [INFO:CONSOLE(187)] ""User has denied permission"", source: http://localhost:8080/home-home-module.js (187)
2019-03-19 21:17:12.322 11786-11786/io.ionic.starter I/chromium [INFO:CONSOLE(188)] "User has denied permission", source: http://localhost:8080/home-home-module.js (188)
Кто-нибудь знает, почему я не могу отправить сообщение?
Ответ №1:
Сначала добавьте это в свой манифест Android
<uses-permission android:name="android.permission.SEND_SMS"/>
Комментарии:
1. Используете ли вы эту библиотеку? ionicframework.com/docs/native/android-permissions
2. Я полагаю, что я касался этого раньше. Android недавно обновил способ работы с разрешениями, при котором вы можете запросить конкретное разрешение, как только оно вам понадобится.