2017-07-10 13 views
7

Tôi đang cố gắng gửi sms từ thiết bị bằng cách sử dụng trình quản lý sms bằng cách thêm corodova gửi sms plugin .Ứng dụng này hoạt động tốt cho đến khi thiết bị android6.0 nó gửi sms cũng nhưng khi tôi cố gắng để gửi sms từ android7.0 nó cho tôi thấy ngoại lệ bảo mật sau đây. Trước khi gửi sms nó yêu cầu sự cho phép và tôi đã cho phép cũng.Bảo mật Ngoại lệ khi gửi sms bằng cordova trong android 7.0

Ngoại lệ:

java.lang.SecurityException: 
at android.os.Parcel.readException(Parcel.java:1683) 
at android.os.Parcel.readException(Parcel.java:1636) 
at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getGroupIdLevel1(IPhoneSubInfo.java:583) 
at android.telephony.TelephonyManager.getGroupIdLevel1(TelephonyManager.java:2163) 
at android.telephony.SmsMessage.hasEmsSupport(SmsMessage.java:854) 
at com.android.internal.telephony.SmsMessageBase.calcUnicodeEncodingDetails(SmsMessageBase.java:409) 
at com.android.internal.telephony.gsm.SmsMessage.calculateLength(SmsMessage.java:796) 
at android.telephony.SmsMessage.fragmentText(SmsMessage.java:354) 
at android.telephony.SmsManager.divideMessage(SmsManager.java:450) 
at com.cordova.plugins.sms.Sms.send(Sms.java:143) 
at com.cordova.plugins.sms.Sms.access$400(Sms.java:22) 
at com.cordova.plugins.sms.Sms$1.run(Sms.java:102) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 

Mã để gửi sms:

var smsdata = ' தேதி: ' + this.currentbilldate + ' பில் எண்: ' + this.save_details.vehicle_bill_no + ' எடுக்கப்பட்ட பொருட்களின் விவரங்கள்: ' + this.smselements.toString() + ', மொத்த பொருட்கள்: ' + totalcount + ''; 
    var farmermobileno = this.entry_details.farmer_mobile_no; 
    this.sms.send(farmermobileno, smsdata).then((result) => { 
     this.commonService.presentToast('Message sent successfully'); 
    }, (error) => { 
     console.log('Error in sending message', error); 
     this.commonService.presentToast('Message Failed'); 
    }); 

Plugin Name: cordova-sms-plugin

bản gửi trong sms:

var smsdata = 'உங்கள் கணக்கில் அன்று 23-8-17 அட்வான்ஸ் தொகை ₹500 வழங்கப்பட்டுள்ளது.இருப்பு ₹5000'; 
+0

Tôi đã nhìn vào vấn đề này và đoán bạn có thể không được sử dụng phiên bản mới nhất của các plugin như tôi có thể nhìn thấy một sửa chữa thực hiện trong phiên bản mới nhất của các plugin nêu rõ "sửa chữa (android): Không kiểm tra quyền cho mục đích ". Một lý do khác có thể là những thay đổi hành vi mới nhất được thực hiện trong android 7.0 - https://developer.android.com/about/versions/nougat/android-7.0-changes.html – Gandhi

Trả lời

2

Hy vọng y Bạn có thể sử dụng phương thức dưới đây để kiểm tra quyền.

Trên Android, một chức năng bổ sung được biết liệu bạn có cho phép gửi SMS (quyền Marshmallow Android) hay không.

var app = { 
    checkSMSPermission: function() { 
     var success = function (hasPermission) { 
      if (hasPermission) { 
       sms.send(...); 
      } 
      else { 
       // show a helpful message to explain why you need to require the permission to send a SMS 
       // read http://developer.android.com/training/permissions/requesting.html#explain for more best practices 
      } 
     }; 
     var error = function (e) { alert('Something went wrong:' + e); }; 
     sms.hasPermission(success, error); 
    } 
}; 

Bạn có thể xem chi tiết ở đây trên Git too.

Cập nhật:

var smsdata = 'உங்கள் கணக்கில் அன்று 23-8-17 அட்வான்ஸ் தொகை' + '₹500' + 'வழங்கப்பட்டுள்ளது.இருப்பு'+ '₹5000'; 
+0

nó yêu cầu sự cho phép và thậm chí nó hoạt động tốt trong android6. 0 nhưng trong android7.0 nó yêu cầu sự cho phép sau đó nó được đóng tự động và tôi đã cố gắng gửi một văn bản trong chuỗi nó hoạt động tốt ngay cả trong android 7.0 nhưng khi tôi có một số số trong chuỗi nó được đóng tự động mà không gửi chỉ trong android7.0 tôi đã kiểm tra độ dài văn bản và nó chỉ là 81 ký tự –

+0

Bạn có thể hiển thị văn bản mà bạn cố gắng gửi cùng với một số không? – Sampath

+0

bạn có thể kiểm tra câu hỏi đã cập nhật –

Các vấn đề liên quan