Hiện kết quả từ 1 tới 3 của 3
Like Tree1Likes
  • 1 Post By sieuload

Chủ đề: Xin hỏi về BroadcastReceiver - RECEIVE_SMS


  1. #1
    Thành Viên Mới Avatar của tnb107
    Tham gia
    Oct 2013
    Bài gửi
    6

    Xin hỏi về BroadcastReceiver - RECEIVE_SMS

    Em đang làm cái chức năng đọc nội dung tin nhắn khi có tin nhắn mới đến.
    dưới đây là code demo, sẽ có 1 BroadcastReceiver dùng để nhận tin nhắn mới đến và hiển thị lên 1 TextView.
    - mainfest.xml:
    <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.secure.sms"
    android:versionCode="1"
    android:versionName="1.0" >


    <uses-sdk android:minSdkVersion="8" />


    <application
    android:debuggable="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <activity
    android:name=".SecureMessagesActivity"
    android:label="@string/app_name" >
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />


    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>


    <receiver
    android:name=".SmsReceiver"
    android:enabled="true"
    android:exported="true" >
    <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEI VED" />
    </intent-filter>
    </receiver>
    </application>


    <uses-permission android:name="android.permission.RECEIVE_SMS" />


    </manifest>
    - main.xml
    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
    android:id="@+id/messageBox"
    android:text="message will appear here"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
    </LinearLayout>
    - activity:
    package org.secure.sms;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;


    public class SecureMessagesActivity extends Activity{

    static TextView messageBox;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    messageBox=(TextView)findViewById(R.id.messageBox) ;
    }

    public static void updateMessageBox(String msg)
    {
    messageBox.append(msg);
    }


    }
    - SmsReceiver:
    package org.secure.sms;

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.telephony.SmsMessage;


    public class SmsReceiver extends BroadcastReceiver{

    public void onReceive(Context context, Intent intent)
    {
    Bundle bundle=intent.getExtras();

    Object[] messages=(Object[])bundle.get("pdus");
    SmsMessage[] sms=new SmsMessage[messages.length];

    for(int n=0;n<messages.length;n++){
    sms[n]=SmsMessage.createFromPdu((byte[]) messages[n]);
    }

    for(SmsMessage msg:sms){
    SecureMessagesActivity.updateMessageBox("\nFrom: "+msg.getOriginatingAddress()+"\n"+
    "Message: "+msg.getMessageBody()+"\n");
    }
    }
    }
    nhưng ko hiểu sao nó ko đọc dc gì, mong các pro giúp!

    thanks all!

    Chủ đề tương tự:


  2. #2
    Super Moderator Avatar của sieuload
    Tham gia
    Aug 2010
    Bài gửi
    11.830
    Người dùng phải chọn ứng dụng này là sms mặc định mới nhận được, nhớ là nhận rồi mới đọc chớ kg phải đọc luôn các tin cũ.


    tnb107 likes this.


  3. #3
    Thành Viên Mới Avatar của tnb107
    Tham gia
    Oct 2013
    Bài gửi
    6
    thanks pro sieuload. mình đã làm dc rồi.
    cho mình hỏi thêm chút là bạn đã dùng chức năng Emulator Control trong eclipse để nhắn tin bao giờ chưa?(dùng để nhắn tin test app) mình thấy họ nhắn tin dc mà sao mình mở lên nó cứ ở dạng disable



Đánh dấu

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •