Ошибка отправки текстового сообщения Android - PullRequest
1 голос
/ 14 декабря 2011

Я пытаюсь создать простое приложение, которое может отправлять текстовые сообщения с моего мобильного телефона на другой мобильный телефон, но в данный момент я использую эмуляторы. Проблема в том, что приложение неожиданно останавливается.

Я посмотрел на свой logCat и заметил, что получил эту строку

12-13 23: 36: 49.611: ОШИБКА / AndroidRuntime (29001): java.lang.SecurityException: отправка SMS-сообщения: у пользователя 10131 нет android.permission.SEND_SMS.

Но это меня смущает, потому что в моем AndroidManifest.xml у меня есть этот код

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="net.learn2develop.SMSMessaging"
      android:versionCode="1"
      android:versionName="1.0">


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".SMS"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>


        </activity>

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

    </application>
</manifest>

Я тоже сделал один шаг, и я рухнул на этой линии

sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);

со следующими аргументами

  • phoneNumber: номер моего мобильного телефона в виде строки в формате «XXXXXXXXXX»

  • ноль: ноль

  • сообщение: «тестирование»

  • sentPI = PendingIntent.getBroadcast (this, 0, новое намерение (SENT), 0);

  • PendingIntent deliveryPI = PendingIntent.getBroadcast (this, 0, новое намерение (доставлено), 0);

С отправлено

String SENT = "SMS_SENT";

и ДОСТАВЛЕНО

String DELIVERED = "SMS_DELIVERED";

Понятия не имею, что теперь делать. Я гуглил и больше никого не видел со своей проблемой.

Любая помощь приветствуется! Спасибо, Chris

1 Ответ

3 голосов
/ 14 декабря 2011

Теги <uses-permission ...> должны находиться под тегом <manifest>, а не тегом <application>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...