Android SMS-менеджер получает ошибку ⇐ Android
-
Anonymous
Android SMS-менеджер получает ошибку
Я пытаюсь отправить простое SMS. Дело в том, что он работает с образцами, которые я скачал из обучающих программ. Но когда я пытаюсь воспроизвести тот же код, я получаю сообщение об ошибке. Ниже приведен код, когда я пытался отладить.
D/ViewRootImpl: ViewPostImeInputStageprocessPointer 0 D/ViewRootImpl: ViewPostImeInputStage ProcessPointer 1 W/System.err: java.lang.SecurityException: отправка SMS-сообщения: uid 10333 не имеет android.permission.SEND_SMS. W/System.err: в android.os.Parcel.readException(Parcel.java:1620) W/System.err: в android.os.Parcel.readException(Parcel.java:1573) W/System.err: com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:1577) W/System.err: в android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:380) W/System.err: в android.telephony.SmsManager.sendTextMessage(SmsManager.java:333) W/System.err: com.creations.oreo.valletcall.MainActivity$1.onClick(MainActivity.java:40) W/System.err: в android.view.View.performClick(View.java:5697) W/System.err: в android.widget.TextView.performClick(TextView.java:10814) W/System.err: в android.view.View$PerformClick.run(View.java:22526) W/System.err: в android.os.Handler.handleCallback(Handler.java:739) W/System.err: в android.os.Handler.dispatchMessage(Handler.java:95) W/System.err: в android.os.Looper.loop(Looper.java:158) W/System.err: в android.app.ActivityThread.main(ActivityThread.java:7229) W/System.err: в java.lang.reflect.Method.invoke (собственный метод) W/System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) W/System.err: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Отключено от целевой виртуальной машины, адрес: «localhost: 8616», транспорт: «сокет». Я пытаюсь выполнить отладку, подключив реальный телефон, и ошибка разрешения, вероятно, очевидная из приведенных выше, на самом деле уже определена в файле манифеста Android.
Моя основная активность, как показано ниже
публичный класс MainActivity расширяет AppCompatActivity { Кнопка КнопкаОтправить; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); buttonSend = (Кнопка) findViewById(R.id.buttonSend); buttonSend.setOnClickListener(new View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { пытаться { /* Намерение sendIntent = новое намерение(Intent.ACTION_VIEW); sendIntent.putExtra("sms_body", "содержимое по умолчанию"); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent);*/ SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("91195525", null, "Тест", null, null); Toast.makeText(getApplicationContext(), "SMS отправлено!", Toast.LENGTH_LONG).show(); } catch (Исключение е) { Toast.makeText(getApplicationContext(), «Ошибка отправки SMS, повторите SMS позже!», Toast.LENGTH_LONG).show(); е.printStackTrace(); } } }); } } Мой файл манифеста Android
Например, это руководство, которому я следую
http://www.mkyong.com/android/how-to-se ... n-android/
Я пытаюсь отправить простое SMS. Дело в том, что он работает с образцами, которые я скачал из обучающих программ. Но когда я пытаюсь воспроизвести тот же код, я получаю сообщение об ошибке. Ниже приведен код, когда я пытался отладить.
D/ViewRootImpl: ViewPostImeInputStageprocessPointer 0 D/ViewRootImpl: ViewPostImeInputStage ProcessPointer 1 W/System.err: java.lang.SecurityException: отправка SMS-сообщения: uid 10333 не имеет android.permission.SEND_SMS. W/System.err: в android.os.Parcel.readException(Parcel.java:1620) W/System.err: в android.os.Parcel.readException(Parcel.java:1573) W/System.err: com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:1577) W/System.err: в android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:380) W/System.err: в android.telephony.SmsManager.sendTextMessage(SmsManager.java:333) W/System.err: com.creations.oreo.valletcall.MainActivity$1.onClick(MainActivity.java:40) W/System.err: в android.view.View.performClick(View.java:5697) W/System.err: в android.widget.TextView.performClick(TextView.java:10814) W/System.err: в android.view.View$PerformClick.run(View.java:22526) W/System.err: в android.os.Handler.handleCallback(Handler.java:739) W/System.err: в android.os.Handler.dispatchMessage(Handler.java:95) W/System.err: в android.os.Looper.loop(Looper.java:158) W/System.err: в android.app.ActivityThread.main(ActivityThread.java:7229) W/System.err: в java.lang.reflect.Method.invoke (собственный метод) W/System.err: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) W/System.err: com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Отключено от целевой виртуальной машины, адрес: «localhost: 8616», транспорт: «сокет». Я пытаюсь выполнить отладку, подключив реальный телефон, и ошибка разрешения, вероятно, очевидная из приведенных выше, на самом деле уже определена в файле манифеста Android.
Моя основная активность, как показано ниже
публичный класс MainActivity расширяет AppCompatActivity { Кнопка КнопкаОтправить; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); buttonSend = (Кнопка) findViewById(R.id.buttonSend); buttonSend.setOnClickListener(new View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { пытаться { /* Намерение sendIntent = новое намерение(Intent.ACTION_VIEW); sendIntent.putExtra("sms_body", "содержимое по умолчанию"); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent);*/ SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("91195525", null, "Тест", null, null); Toast.makeText(getApplicationContext(), "SMS отправлено!", Toast.LENGTH_LONG).show(); } catch (Исключение е) { Toast.makeText(getApplicationContext(), «Ошибка отправки SMS, повторите SMS позже!», Toast.LENGTH_LONG).show(); е.printStackTrace(); } } }); } } Мой файл манифеста Android
Например, это руководство, которому я следую
http://www.mkyong.com/android/how-to-se ... n-android/
Мобильная версия