如何接收短信?

我正在尝试在Android应用程序上接收传入的SMS,但是我无法收到即将收到的SMS,下面是正在使用的代码。


import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.os.Environment;

import android.telephony.SmsManager;

import android.telephony.SmsMessage;

import android.util.Log;

import android.widget.Toast;


public class IncomingSms extends BroadcastReceiver {


    // Get the object of SmsManager

    final SmsManager sms = SmsManager.getDefault();


    public void onReceive(Context context, Intent intent) {


        // Retrieves a map of extended data from the intent.

        final Bundle bundle = intent.getExtras();


        try {


            if (bundle != null) {


                final Object[] pdusObj = (Object[]) bundle.get("pdus");


                for (int i = 0; i < pdusObj.length; i++) {


                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);

                    String phoneNumber = currentMessage.getDisplayOriginatingAddress();


                    String senderNum = phoneNumber;

                    String message = currentMessage.getDisplayMessageBody();


                    Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message);



                    // Show Alert

                    int duration = Toast.LENGTH_LONG;

                    Toast toast = Toast.makeText(context,

                            "senderNum: "+ senderNum + ", message: " + message, duration);

                    toast.show();


                } // end for loop

            } // bundle is null


        } catch (Exception e) {

            Log.e("SmsReceiver", "Exception smsReceiver" +e);


        }

    }

}


我尝试在网上查找一些示例,但似乎没有一个适合我,请指出问题出在哪里。




皈依舞
浏览 142回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java