Java 当我尝试发送文本时,Android应用程序崩溃

Java 当我尝试发送文本时,Android应用程序崩溃,java,android,text,sms,smsmanager,Java,Android,Text,Sms,Smsmanager,经过一些研究,似乎崩溃是新手编码的结果,更具体地说,可能是发送短信功能发生的位置。只有当我试图通过此应用发送文本时,应用才会崩溃。在开发者模式下,虚拟手机和通过usb连接的实际手机会崩溃。Sim卡没问题。我不知道如何修理撞车。谢谢你的帮助!下面是MainActivity.java中的代码。我有一个MessageReceiver类,它工作得很好 //导入东西很好 ... 公共类MainActivity扩展了AppCompatActivity{ EditText UserNumber;//tvNum

经过一些研究,似乎崩溃是新手编码的结果,更具体地说,可能是发送短信功能发生的位置。只有当我试图通过此应用发送文本时,应用才会崩溃。在开发者模式下,虚拟手机和通过usb连接的实际手机会崩溃。Sim卡没问题。我不知道如何修理撞车。谢谢你的帮助!下面是MainActivity.java中的代码。我有一个MessageReceiver类,它工作得很好

//导入东西很好
...
公共类MainActivity扩展了AppCompatActivity{
EditText UserNumber;//tvNumber
EditText TrapID;//tvMessage
IntentFilter IntentFilter;
private BroadcastReceiver intentReceiver=新的BroadcastReceiver(){
@凌驾
公共void onReceive(上下文、意图){
//将收到的消息放在哪里
//现在进入文本视图演示它的工作原理
TextView inTxt=(TextView)findViewById(R.id.txtMsg);
inTxt.setText(intent.getExtras().getString(“消息”);
}
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//打算筛选接收到的SMS
intentFilter=新intentFilter();
intentFilter.addAction(“SMS_已收到_操作”);
Button SimulateActivity=(Button)findViewById(R.id.SimulateActivity);
SimulateActiv.setOnClickListener(sendAutoMsg);
};
private View.OnClickListener sendAutoMsg=new View.OnClickListener(){
公共void onClick(视图v){
字符串trapID=trapID.getText().toString();
字符串AutoMessage=(“Hello.Trap:+trapID+”已被激活。”);
字符串usrnum=UserNumber.getText().toString();
sendMsg(usrnum,AutoMessage);
}
};
受保护的void sendMsg(字符串usrnum、字符串AutoMessage){
String SENT=“消息已发送”;
String DELIVERED=“消息传递”;
pendingent sentPI=pendingent.getBroadcast(this,0,新意图(已发送),0);
pendingent deliveredPI=pendingent.getBroadcast(this,0,新意图(已交付),0);
SmsManager sms=SmsManager.getDefault();
sendTextMessage(usrnum、null、AutoMessage、sentPI、deliveredPI);
}
@凌驾
受保护的void onResume(){
//登记接收人
registerReceiver(intentReceiver、intentFilter);
super.onResume();
}
@凌驾
受保护的void onPause(){
//注销接收人
未注册接收人(intentReceiver);
super.onPause();
}
}//结束

在布局文件中创建两个
EditText
(例如:
number
trap
)并指向
UserNumber
TrapID
,如下面的onCreate()中所示

在android清单文件中授予发送短信权限

<uses-permission android:name="android.permission.SEND_SMS"/>

加上所有这些,代码对我有效。希望这有帮助。

请添加崩溃日志
<uses-permission android:name="android.permission.SEND_SMS"/>
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, 1);