2011-12-14 114 views
1

我试图创建一个简单的应用程序,可以从我的android手机发送短信到另一个手机,但此刻我正在使用模拟器。我得到的问题是应用程序意外停止。发送短信错误Android

我看着我的logcat,我发现我得到这一行

12-13 23:36:49.611:ERROR/AndroidRuntime(29001):java.lang.SecurityException异常:发送短信:用户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); 

的论据如下

  • 电话号码:我的手机空

  • 消息::手机的作为格式 “XXXXXXXXXX”

  • 空字符串号码 “测试”

  • sentPI = PendingIntent.getBroadcast(此,0, 新意图(SENT) ,0);

  • PendingIntent deliveredPI = PendingIntent.getBroadcast(this,0, new Intent(DELIVERED),0);

随着SENT是

字符串SENT = “SMS_SENT”;

并输送被

字符串DELIVERED = “SMS_DELIVERED”;

我不知道现在该做什么。我GOOGLE了,我没有看到任何人与我的问题。

任何帮助表示赞赏! 谢谢, 克里斯

回答

3

<uses-permission ...>标签需要是<manifest>标签,而不是<application>标签下。

+0

非常感谢你非常非常!我花了很多时间试图找出这个问题。这对我看到的每个网站都有标记下的标记都没有帮助。 – 2011-12-14 05:20:51