更新:如果我sendSms()
在内部类之外使用函数,它就可以工作!但我需要它在里面。有人可以帮忙吗?
我正在尝试使用在背景中发送短信SmsManager
,但没有任何反应。当我去 Logcat 它说:
E/art: Failed sending reply to debugger: Broken pipe
我已经在模拟器和真实设备上测试过了
这是一部分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);
}
Toast 正在显示,我也打印了sender
,messageText
它打印了应该打印的内容,所以这不是问题。我一直在寻找这个错误,并试图清理项目、重建、退出 android,但没有任何效果。
我已在清单中包含 SEND_SMS 权限