1. Sie sind Sache, die zu Ihrer Lösung gerade passend ist. Es gibt keinen Dienst, der nicht vom System getötet wird.
2.You Notwendigkeit Kiste ein BroadCastReciver
jede eingehende Nachricht zu lesen Code unten .please zu finden für die Registrierung Incoming SMS
Leserklasse, manifestieren
3.When Ihre Incoming BroadCastReciver
Trigger Sie Service von BroadCastReciver
und Pass anrufen müssen SMS
Daten für den weiteren Prozess zu warten.
4.Auf diese Weise müssen Sie sich keine Sorgen machen, dass der Dienst vom System beendet wird.
AndroidManifest.xml
Datei-Details:
Declare Empfänger in AndroidManifest
- Give lesen SMS Erlaubnis in AndroidManifest
komplette Code für AndroidManifest.xml Datei:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidexample.broadcastreceiver"
android:versionCode="1"
android:versionName="1.0" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.androidexample.broadcastreceiver.BroadcastNewSms"
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="com.androidexample.broadcastreceiver.IncomingSms">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest>
IncomingSms.java Datei Details:
I have made broadcast event reciever in this file
1. Created class IncomingSms with extends BroadcastReceiver class
public class IncomingSms extends BroadcastReceiver
2. Get the object of SmsManager to find out received sms details
// Get the object of SmsManager
final SmsManager sms = SmsManager.getDefault();
3. Create method receiver()
public void onReceive(Context context, Intent intent)
4. Get/Read current Incomming SMS data
// 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);
}
======= ========================================== ================================================= =
Complete code for IncomingSms.java file :
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);
}
}
}
Incomming SMS Broadcast Receiver - Android Example
Es gibt nichts, das von den OS – tyczj