Android之路——第二个Android小程序(Android短信发送)

来源:互联网 发布:unity3d 2017输出安卓 编辑:程序博客网 时间:2024/05/16 09:16

首先是布局的代码:main.xml

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <TextView   
  8.     android:text="@string/inputMobile"   
  9.     android:layout_width="fill_parent"   
  10.     android:layout_height="wrap_content">  
  11. </TextView>  
  12. <EditText   
  13.     android:id="@+id/mobile"   
  14.     android:layout_width="fill_parent"   
  15.     android:layout_height="wrap_content">  
  16. </EditText>  
  17. <TextView   
  18.     android:text="@string/inputMessage"  
  19.     android:layout_width="fill_parent"   
  20.     android:layout_height="wrap_content">  
  21. </TextView>  
  22. <EditText   
  23.     android:id="@+id/Message"   
  24.     android:layout_width="fill_parent"   
  25.     android:layout_height="wrap_content">  
  26. </EditText>  
  27. <Button   
  28.     android:text="@string/Submit"   
  29.     android:id="@+id/Submit"   
  30.     android:layout_width="wrap_content"   
  31.     android:layout_height="wrap_content">  
  32. </Button>  
  33. </LinearLayout>  
 

接下来是String.xml的代码:

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="app_name">短信发送器</string>  
  4.     <string name="inputMobile">请输入手机号:</string>  
  5.     <string name="inputMessage">请输入短信内容:</string>  
  6.     <string name="Submit">发送短信</string>  
  7. </resources>  
 

 

上面两个都是位于res里面的。

接下来是src里面的代码MessageActivity:(由于在公司,没空写注释,等等回去补上)

 

view plain
  1. package cn.jason.android;  
  2. import java.util.List;  
  3. import android.app.Activity;  
  4. import android.app.PendingIntent;  
  5. import android.content.Intent;  
  6. import android.os.Bundle;  
  7. import android.telephony.gsm.SmsManager;  
  8. import android.view.View;  
  9. import android.widget.Button;  
  10. import android.widget.EditText;  
  11. import android.widget.Toast;  
  12. public class messageActivity extends Activity {  
  13.     /** Called when the activity is first created. */  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.           
  19.         final EditText mobileNoEditText = (EditText) findViewById(R.id.mobile);  
  20.         final EditText messageEditText = (EditText) findViewById(R.id.Message);  
  21.         Button submitButton =  (Button) findViewById(R.id.Submit);  
  22.           
  23.         submitButton.setOnClickListener(new View.OnClickListener() {  
  24.               
  25.             public void onClick(View view) {  
  26.                 String moblileString = mobileNoEditText.getText().toString();  
  27.                 String messageString = messageEditText.getText().toString();  
  28.                 SmsManager smsManager = SmsManager.getDefault();  
  29.                 PendingIntent sendingIntent = PendingIntent.getBroadcast(messageActivity.this0new Intent(), 0);  
  30.                 List<String> msgsList = smsManager.divideMessage(messageString);  
  31.                 for (String msg : msgsList) {  
  32.                     smsManager.sendTextMessage(moblileString, null, msg, sendingIntent, null);  
  33.                 }  
  34.                 Toast.makeText(messageActivity.this"短信发送成功", Toast.LENGTH_LONG).show();  
  35.             }  
  36.         });  
  37.           
  38.           
  39.           
  40.     }  
  41. }  
 

以上你都写了还是不能用的,最关键的一句是这样的:

view plain
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="cn.jason.android"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".messageActivity"  
  8.                   android:label="@string/app_name">  
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.     </application>  
  15.     <uses-sdk android:minSdkVersion="4" />  
  16.     <uses-permission android:name="android.permission.SEND_SMS" />  
  17. </manifest>   
 

上面的最后一句如果没有的话是没法发短信的。这个是权限的设置。短信发送权限的设置。<uses-permission android:name="android.permission.SEND_SMS" />

原创粉丝点击