Я новичок в android студии, и я не понимаю, почему она выдает ошибку. Кроме того, я пишу большие сообщения с помощью менеджера SMS. Я установил разрешение на отображение большей части данных в сообщении, полученных из других действий. Поэтому у меня есть общие предпочтения для получения этих данных. Я не знаю, почему он показывает мою ошибку в моем методе onclick, и в этом методе он показывает мне ошибку на объекте менеджера SMS. Мы ценим любые предложения.
public void btn_sendsms_OnClick(View v){
// Patientinfo patientinfo=new Patientinfo();
// String message;
SharedPreferences sharedPreferences= getSharedPreferences("my_key",MODE_PRIVATE);
String name=sharedPreferences.getString("name","");
String phone=sharedPreferences.getString("phone","");
String age=sharedPreferences.getString("age","");
String symptoms=sharedPreferences.getString("symptoms","");
String diagnosis=sharedPreferences.getString("diagnosis","");
String message=sharedPreferences.getString("message","");
String complete="your name is : "+name+"\n your age is : "+age+"\n your symptoms are : "+symptoms+
"\n diagnosis : "+diagnosis;
final String[] time = new String[10];
if(spinner_T2.getSelectedItem().toString().equals("0") && spinner_T3.getSelectedItem().toString().equals("0")
&&spinner_T4.getSelectedItem().toString().equals("0") && spinner_T5.getSelectedItem().toString().equals("0")
){
SmsManager sms=SmsManager.getDefault();
time[0] =spinner_T1.getSelectedItem().toString();
String ftime="Time to take medicine 1 is :-"+time[0];
String ftime2=complete+"\n"+message+"\n"+ftime;
ArrayList<String> messages = sms.divideMessage(ftime2);
sms.sendMultipartTextMessage(phone,null,messages,null,null);
/* for (String msg : messages) {
sms.sendTextMessage(phone,null,msg,sentPI,deliveredPI);
}*/
//time="Time to take medcine 1 : "+spinner_T1.getSelectedItem().toString();
журналы ошибок
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.napps.voiceprescription, PID: 16023
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:402)
at android.view.View.performClick(View.java:6608)
at android.view.View.performClickInternal(View.java:6585)
at android.view.View.access$3100(View.java:785)
at android.view.View$PerformClick.run(View.java:25921)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:6608)
at android.view.View.performClickInternal(View.java:6585)
at android.view.View.access$3100(View.java:785)
at android.view.View$PerformClick.run(View.java:25921)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.lang.SecurityException: Sending SMS message: uid 10507 does not have android.permission.SEND_SMS.
at android.os.Parcel.createException(Parcel.java:1953)
at android.os.Parcel.readException(Parcel.java:1921)
at android.os.Parcel.readException(Parcel.java:1871)
at com.android.internal.telephony.ISms$Stub$Proxy.sendMultipartTextForSubscriber(ISms.java:1097)
at android.telephony.SmsManager.sendMultipartTextMessageInternal(SmsManager.java:634)
at android.telephony.SmsManager.sendMultipartTextMessage(SmsManager.java:616)
at com.napps.voiceprescription.Editinfo.btn_sendsms_OnClick(Editinfo.java:939)