Broadcast SMS Receiver Does Not Receive Text Message

What I've done


Hi guys, I am currently creating an SMS Broadcast Receiver, I just built this tutorial: Broadcasttutorial . After I made the code, I updated my manifest. After that I sent sms from my other phone to my phone, but it didn’t work. I didn’t get anything.

Question


What do I need to change to receive these SMS. Please enter a detailed underder that I can find out, a good tutorial will also be great!

the code


SMSBroadcastReceiver (located in package services)

package de.retowaelchli.filterit.services;

import de.retowaelchli.filterit.R;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;


public class SmileySmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        //---get the SMS message passed in---
        Log.d("SmileySmsReceiver", "Yes it calls the onReceive");
        Bundle bundle = intent.getExtras();        
        SmsMessage[] msgs = null;
        String str = "";            
        if (bundle != null)
        {
            //---retrieve the SMS message received---
            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]);                
                str += "SMS from " + msgs[i].getOriginatingAddress();                     
                str += " :";
                str += msgs[i].getMessageBody().toString();
                str += "\n";        
            }
            //---display the new SMS message---
            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
        }                         
    }
}

This is my AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="de.retowaelchli.filterit"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

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

    <application android:icon="@drawable/icon"
                 android:label="@string/app_name"
                 android:debuggable="true"
                 android:screenOrientation="sensor"
                 android:theme="@style/FilterIt.Theme"> 

        <activity android:name=".SplashScreenActivity"
                  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 -->
        <receiver android:name="de.retowaelchli.filterit.services.SmileySmsReceiver" android:enabled="true"> 
            <intent-filter> 
                <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
            </intent-filter> 
        </receiver>     



        <!--  Startseite -->
        <activity android:name=".StartseiteActivity"></activity>

        <!-- Von Startseite ausgehende Activitys -->   
        <activity android:name=".SmileyActivity"></activity>
        <activity android:name=".ADeleteActivity"></activity>
        <activity android:name=".StatsActivity"></activity>
        <activity android:name=".HelpMenuActivity"></activity>


        <!-- Von Stats ausgehende Activitys -->
        <activity android:name=".stats.ADFilterStats"></activity>
        <activity android:name=".stats.SFilterStats"></activity>
        <activity android:name=".stats.CreatedADFilters"></activity>
        <activity android:name=".stats.CreatedSFilters"></activity>

        <!-- Von ADeleteActivity ausgehende Activitys -->
        <activity android:name=".ADFilterConfigActivity"></activity>

        <!--  Von SmileyActivity ausgehende Activitys -->
        <activity android:name=".SFilterConfigActivity"></activity>

    </application>
</manifest>
+5
source share
3 answers

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="de.retowaelchli.filterit"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

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

    <application android:icon="@drawable/icon"
                 android:label="@string/app_name"
                 android:debuggable="true"
                 android:screenOrientation="sensor"
                 android:theme="@style/FilterIt.Theme"> 

    <!-- Receiver -->
        <receiver android:name="de.retowaelchli.filterit.services.SmileySMSBroadcastReceiver"> 
            <intent-filter android:priority="999"> 
                <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
            </intent-filter> 
        </receiver>
    </application>
</manifest>

UPDATE

, @safari "Handcent SMS" , SMS ( , SMS_RECEIVED - , . ).
, , "Handcent SMS". @safari , Android: 999, .
, android:priority <intent-filter>:

<receiver android:name="YourSmsBroadcastReceiver">
    <intent-filter android:priority="999"> 
        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter>
</receiver>
+6
for (int i=0; i<pdus.length; i++)

msgs.length, pdus sms-.

0

gauglerb , , .

Handcent , .

, , Handcent:
Handcent , Handcent Messaging. , .

0
source

All Articles