簡體   English   中英

Android未檢測到使用SMS偵聽器發送的SMS

[英]Android not detecting SMS Sent using SMS Listener

我有以下代碼

        <receiver android:name=".SMSListener">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.provider.Telephony.SMS_SENT"/>
            </intent-filter>
        </receiver>




public class SMSListener extends BroadcastReceiver
{
    private SharedPreferences customSharedPreference;

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        customSharedPreference = context.getSharedPreferences("UserSharedPrefs", Activity.MODE_PRIVATE);
        if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
        {
            Bundle bundle = intent.getExtras();           //---get the SMS message passed in---
            SmsMessage[] msgs = null;
            if (bundle != null)
            {
                //---retrieve the SMS message received---
                try{
                    Object[] pdus = (Object[]) bundle.get("pdus");
                    msgs = new SmsMessage[pdus.length];
                    for(int i=0; i<msgs.length; i++)
                    {
                        msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
                    }

                    Editor editor = customSharedPreference.edit();
                    editor.putString("lastSmsReceived", String.valueOf(System.currentTimeMillis()));
                    editor.commit();

                }catch(Exception e){
//                            Log.d("Exception caught",e.getMessage());
                }
            }            
        }
        else  if(intent.getAction().equals("android.provider.Telephony.SMS_SENT"))
        {
            Editor editor = customSharedPreference.edit();
            editor.putString("lastSmsSent", String.valueOf(System.currentTimeMillis()));
            editor.commit();
            Log.d("SMS Sent", "SMS Sent");
        }
    }
}

有權限

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

它檢測到SMS READ,但未檢測到SMS Sent。 我還想念什么

android.provider.Telephony.SMS_SENT沒有此類動作。 Android不會廣播已發送的消息。

這里有一個替代解決方案: 發送短信的Android廣播接收器?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM