2011-12-14 13 views
1

私のアンドロイド携帯電話から別の携帯電話にテキストメッセージを送信できるシンプルなアプリケーションを作成しようとしていますが、現時点ではエミュレータを使用しています。私が得ている問題は、アプリケーションが予期せず停止し続けることです。 テキストメッセージの送信中にエラーが発生する

は、私は私のlogCatを見て、私は

12-13 23行を取得するに気づく:36:49.611:ERROR/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:My Cellヌル

  • メッセージ:フォーマット "XXXXXXXXXX"

  • ヌルの文字列として、携帯電話の番号 "テスト"

  • sentPI = PendingIntent.getBroadcast(本、0、 新しいテント(SENT) 、0)。

  • PendingIntent.getBroadcast(this、0、 new Intent(DELIVERED)、0); SENTは= "SMS_SENT" SENT

    文字列であると

て配信は

文字列= "SMS_DELIVERED" 配信され;

私は今何をすべきか分かりません。私はグーグルで、私は私の問題を誰も見ていない。

ご協力いただきましてありがとうございます。 おかげで、 クリス

答えて

3

<uses-permission ...>タグが<manifest>タグ、ない<application>タグの下にする必要があります。

+0

非常に非常にありがとう!私はこの問題を解明しようと多くの時間を費やしました。これは、私が見たすべてのウェブサイトにタグの下にタグがあることを助けるものではありません。 –

+0

@ Barda4 - [ドキュメント](http://developer.android.com/guide/topics/manifest/uses-permission-element.html)を読むことは、常に良いことです。この場合、「CONTAINED IN」というタイトルのセクションが正しいパスに設定されていました。 :) –

関連する問題