Bonjour,
Je me suis lancé il y a peu dans le dev Android, j'ai acheté un bouquin et parcouru pas mal de tutos dans le but de faire ouvrir une page dans le navigateur du GSM à la réception d'un SMS contenant un code particulier.
Dans mes essais, je voudrais que le navigateur s'ouvre sur la page www.android.com dés qu'il reçoit un SMS commençant par"#". Tout mes essais sont infructueux, je sollicite donc votre aide. Voici mon fichier Manifest:
et mon fichier MainActivity.java:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sms_web" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.sms_web.MainActivity" 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=".SMSReceive"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> </application> </manifest>
J'utilise Eclipse, merci par avance à ceux qui pourront m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 package com.example.sms_web; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.telephony.SmsMessage; import android.widget.Toast; public class MainActivity extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) { // récupérer SMS Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; if (bundle != null) { // récupérer le SMS Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; String body =""; for (int i=0; i<msgs.length; i++){ msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); body = msgs[i].getMessageBody().toString(); if(body.startsWith("#")){ // action a effectuer à la réception du SMS: ici affichage du mot POKE // lorsque le SMS commence par ##androPoke## Toast.makeText(context, "POKE", Toast.LENGTH_SHORT).show(); Uri webpage = Uri.parse("http://www.android.com"); Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage); context.startActivity(webIntent); } Toast.makeText(context, body, Toast.LENGTH_SHORT).show(); } } } } }
Bonne soirée
Ludo
Partager