Java 无法发送短信

Java 无法发送短信,java,android,sms,smsmanager,Java,Android,Sms,Smsmanager,我正在尝试使用SmsManager在android studio中发送短信。 我试了很多东西,但都不管用 这是我现在正在使用的代码: 问题是它总是去“捕捉” 以下是事故报告: E/sendSmsFunction: CRASH StackTrace: [android.os.Parcel.readException(Parcel.java:1683), android.os.Parcel.readException(Parcel.java:1636), com.android.internal.t

我正在尝试使用SmsManager在android studio中发送短信。
我试了很多东西,但都不管用

这是我现在正在使用的代码:
问题是它总是去“捕捉”

以下是事故报告:

E/sendSmsFunction: CRASH StackTrace: [android.os.Parcel.readException(Parcel.java:1683), android.os.Parcel.readException(Parcel.java:1636), com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:842), android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:311), android.telephony.SmsManager.sendTextMessage(SmsManager.java:294), com.example.ridewithme.SearchTremp.sendSmsFunction(SearchTremp.java:123), com.example.ridewithme.SearchTremp.searchInDB(SearchTremp.java:97), com.example.ridewithme.SearchTremp$2.onDataChange(SearchTremp.java:109), com.google.android.gms.internal.zzbmz.zza(Unknown Source), com.google.android.gms.internal.zzbnz.zzYj(Unknown Source), com.google.android.gms.internal.zzboc$1.run(Unknown Source), android.os.Handler.handleCallback(Handler.java:754), android.os.Handler.dispatchMessage(Handler.java:95), android.os.Looper.loop(Looper.java:160), android.app.ActivityThread.main(ActivityThread.java:6275), java.lang.reflect.Method.invoke(Native Method), com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874), com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)]

如果您缺少权限,请添加如下内容

 private static final int PERMISSION_REQUEST_CODE = 1;

 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {

    if (checkSelfPermission(Manifest.permission.SEND_SMS)
            == PackageManager.PERMISSION_DENIED) {

        Log.d("permission", "permission denied to SEND_SMS - requesting it");
        String[] permissions = {Manifest.permission.SEND_SMS};

        requestPermissions(permissions, PERMISSION_REQUEST_CODE);

    }
}
对于低于M的版本,请在清单文件中添加权限

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

日志中打印的异常是什么?请提供异常堆栈跟踪。在Android Kitkat或更高版本中,您必须将应用程序设置为默认sms应用程序才能发送sms.E/Sendsmsf功能:崩溃堆栈跟踪:[Android.os.Parcel.readException(Parcel.java:1683),Android.os.Parcel.readException(Parcel.java:1636),com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:842),android.telephony.smsmsmsmsmsmanager.sendTextMessageInternal(smsmsmanager.java:311),android.telephony.SmsManager.sendTextMessage(smsmsmsmanager.java:294),com.example.ridewithme.SearchTremp.sendsmssffunction(SearchTremp.java:115),更新您问题中的碰撞报告日志。这样每个人都可以轻松地检查它。
<uses-permission android:name="android.permission.SEND_SMS"/>
private void sendSMS(String phoneNumber, String message)
{
   SmsManager sms = SmsManager.getDefault();
   sms.sendTextMessage(phoneNumber, null, message, null, null);
}