[英]Sending SMS from inner class using SmsManager is not working
UPDATE: if I take sendSms()
function outside the inner class it works! 更新:如果我将
sendSms()
函数sendSms()
内部类之外,它将起作用! but I need it inside. 但是我需要里面 Can someone help?
有人可以帮忙吗?
I'm trying to send sms in backgroud using SmsManager
and nothing happens. 我正在尝试使用
SmsManager
在backgroud中发送短信, SmsManager
没有任何反应。 when I go to Logcat it says: 当我去Logcat时说:
E/art: Failed sending reply to debugger: Broken pipe
I've tested it on both emulator and real device 我已经在模拟器和真实设备上进行了测试
This is a part of MainActivity.java
: 这是
MainActivity.java
的一部分:
SmsReceiver.bindListener(new SmsListener() {
@Override
public void messageReceived(String messageText, String sender) {
if (msgClassifier.isUrgent(messageText, null, null)) {
sendNotification(messageText);
}
else {
if(sharedPrefs.getAutoReplyState(getApplication())){
Toast.makeText(MainActivity.this, "send sms", Toast.LENGTH_SHORT).show();
sendSms(sender,messageText);
}
}
}
});
public void sendSms(String number, String msg){
android.telephony.SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number,null,msg,null,null);
}
The Toast is being showed and I have also printed sender
and messageText
and it prints what it should print so this is not the problem. 正在显示Toast,并且我还打印了
sender
和messageText
,并打印了应打印的内容,所以这不是问题。 I have been looking for this error and tried to clean project, rebuild, exit android and nothing worked. 我一直在寻找此错误,并尝试清理项目,重建,退出android,但没有任何效果。
I have included SEND_SMS permission in Manifest 我已在清单中包含SEND_SMS权限
Try This: 尝试这个:
public void sendSMS(String phoneNo, String msg) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
Toast.makeText(getApplicationContext(), "Message Sent",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),ex.getMessage().toString(),
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.