如何发送短信?看起来很简单,但对我来说不起作用。
我在 list 中拥有权限:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.healthapp.healthapp">
<uses-permission android:name="android.permission.SEND_SMS"/>
<application ...
然后我的 onClick 中包含以下代码:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("07123456789", null, "Hello there!", null, null);
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);
但是当我运行这个时,我得到“不幸的是应用程序已停止。”
以及错误消息:
FATAL EXCEPTION: main
Process: com.healthapp.healthapp, PID: 13477
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) }
最佳答案
您的代码中有两种不同的发送短信的方法。如果您想使用 SmsManager
,那么您不需要 Intent
/startActivity()
方法,该方法会尝试打开另一个应用程序来处理短信。
您只需删除 smsManager.sendTextMessage()
行之后的所有内容,就不会再出现该 Exception
了。
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("07123456789", null, "Hello there!", null, null);
关于java - 如何在 Android 中发送短信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050212/