Android的短信接收类

继承自BroadcastReceiver类,需要重写onReceive方法,当收到短信时就会自动触发onReceive方法,在onReceive方法中通过Toast来显示短信内容。

 

 1 public class SMSReceiver extends BroadcastReceiver
 2 {
 3     /*当收到短信时,就会触发此方法*/
 4     public void onReceive(Context context, Intent intent)
 5     {
 6         Bundle bundle = intent.getExtras();
 7         Object messages[] = (Object[]) bundle.get("pdus");
 8         SmsMessage smsMessage[] = new SmsMessage[messages.length];
 9         for (int n = 0; n < messages.length; n++)
10         {
11             smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
12         }
13         //产生一个Toast
14         Toast toast = Toast.makeText(context, "短信内容: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
15         //设置toast显示的位置
16         toast.setGravity(Gravity.TOP|Gravity.LEFT, 0200);
17         //显示该Toast
18         toast.show();
19     }
20 }

 

 

 因为在项目中使用了短信接口,所以需要在AndroidManifest.xml中声明其权限,如橙色高亮显示:

 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3       package="com.yarin.android.Examples_04_05"
 4       android:versionCode="1"
 5       android:versionName="1.0">
 6     <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
 7     <application android:icon="@drawable/icon" android:label="@string/app_name">
 8         <activity android:name=".Activity01"
 9                   android:label="@string/app_name">
10             <intent-filter>
11                 <action android:name="android.intent.action.MAIN"/>
12                 <category android:name="android.intent.category.LAUNCHER"/>
13             </intent-filter>
14         </activity>
15     <receiver android:name=".SMSReceiver" android:enabled="true">  
16         <intent-filter>  
17             <action android:name="android.provider.Telephony.SMS_RECEIVED"/>  
18         </intent-filter>  
19     </receiver> 
20     </application>
21     <uses-sdk android:minSdkVersion="5" />
22 </manifest> 
23 

 

 

 

posted @ 2010-03-18 16:27  LW8776  阅读(6165)  评论(1编辑  收藏  举报