閑話不說,繼續貼代碼:
首先是布局的代碼:main.xml
<?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:orientation="vertical"<br /> android:layout_width="fill_parent"<br /> android:layout_height="fill_parent"<br /> ><br /><TextView<br />android:text="@string/inputMobile"<br />android:layout_width="fill_parent"<br />android:layout_height="wrap_content"><br /></TextView><br /><EditText<br />android:id="@+id/mobile"<br />android:layout_width="fill_parent"<br />android:layout_height="wrap_content"><br /></EditText><br /><TextView<br />android:text="@string/inputMessage"<br />android:layout_width="fill_parent"<br />android:layout_height="wrap_content"><br /></TextView><br /><EditText<br />android:id="@+id/Message"<br />android:layout_width="fill_parent"<br />android:layout_height="wrap_content"><br /></EditText><br /><Button<br />android:text="@string/Submit"<br />android:id="@+id/Submit"<br />android:layout_width="wrap_content"<br />android:layout_height="wrap_content"><br /></Button><br /></LinearLayout><br />
接下來是String.xml的代碼:
<?xml version="1.0" encoding="utf-8"?><br /><resources><br /><string name="app_name">簡訊發送器</string><br /><string name="inputMobile">請輸入手機號:</string><br /><string name="inputMessage">請輸入簡訊內容:</string><br /><string name="Submit">傳送簡訊</string><br /></resources><br />
上面兩個都是位於res裡面的。
接下來是src裡面的代碼MessageActivity:(由於在公司,沒空寫注釋,等等回去補上)
package cn.jason.android;<br />import java.util.List;<br />import android.app.Activity;<br />import android.app.PendingIntent;<br />import android.content.Intent;<br />import android.os.Bundle;<br />import android.telephony.gsm.SmsManager;<br />import android.view.View;<br />import android.widget.Button;<br />import android.widget.EditText;<br />import android.widget.Toast;<br />public class messageActivity extends Activity {<br />/** Called when the activity is first created. */<br />@Override<br /> public void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.main);</p><p> final EditText mobileNoEditText = (EditText) findViewById(R.id.mobile);<br /> final EditText messageEditText = (EditText) findViewById(R.id.Message);<br /> Button submitButton = (Button) findViewById(R.id.Submit);</p><p> submitButton.setOnClickListener(new View.OnClickListener() {</p><p>public void onClick(View view) {<br />String moblileString = mobileNoEditText.getText().toString();<br /> String messageString = messageEditText.getText().toString();<br /> SmsManager smsManager = SmsManager.getDefault();<br /> PendingIntent sendingIntent = PendingIntent.getBroadcast(messageActivity.this, 0, new Intent(), 0);<br /> List<String> msgsList = smsManager.divideMessage(messageString);<br /> for (String msg : msgsList) {<br />smsManager.sendTextMessage(moblileString, null, msg, sendingIntent, null);<br />}<br /> Toast.makeText(messageActivity.this, "簡訊發送成功", Toast.LENGTH_LONG).show();<br />}<br />});</p><p> }<br />}
以上你都寫了還是不能用的,最關鍵的一句是這樣的:
<?xml version="1.0" encoding="utf-8"?><br /><manifest xmlns:android="http://schemas.android.com/apk/res/android"<br /> package="cn.jason.android"<br /> android:versionCode="1"<br /> android:versionName="1.0"><br /> <application android:icon="@drawable/icon" android:label="@string/app_name"><br /> <activity android:name=".messageActivity"<br /> android:label="@string/app_name"><br /> <intent-filter><br /> <action android:name="android.intent.action.MAIN" /><br /> <category android:name="android.intent.category.LAUNCHER" /><br /> </intent-filter><br /> </activity><br /> </application><br /> <uses-sdk android:minSdkVersion="4" /><br /><uses-permission android:name="android.permission.SEND_SMS" /><br /></manifest>
上面的最後一句如果沒有的話是沒法發簡訊的。這個是許可權的設定。簡訊發送許可權的設定。<uses-permission android:name="android.permission.SEND_SMS" />