1.Vous êtes une chose juste adaptée à votre solution. Il n'y a pas de service qui n'est pas tué par le système.
2.You besoin d'une caisse BroadCastReciver
pour lire chaque message entrant .please trouverez ci-dessous le code d'enregistrement de classe entrant SMS
lecteur, manifeste
3.Quand votre BroadCastReciver
entrant vous Déclenche devez appeler le service de BroadCastReciver
et laissez-passer SMS
données à traiter pour un traitement ultérieur.
4. De cette façon, vous n'avez pas besoin de vous inquiéter du service est tué par le système.
AndroidManifest.xml
Details du fichier:
récepteur racontons dans AndroidManifest
- Donner la permission de lecture de SMS dans AndroidManifest
Code complet pour AndroidManifest.xml fichier:
<?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>
détails du fichier IncomingSms.java:
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
Il n'y a rien qui ne peut pas être tué par le système d'exploitation – tyczj