Bonjour,
Je me premet de vous demander de l'aide au sujet de ma programmation pour Android.
Je débute sur cette plateforme et souhaite faire quelque chose de simple pour commencer : l'appel d'un intent.
Je souhaite simplement faire appel au service "ALARM_SERVICE" en me remontant un toast 10 sec après l'appui d'un bouton.
Voici le code de mon Activy:
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
49
50
51
52
53
54
55 package com.example.test; import java.util.Calendar; import android.os.Bundle; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; import android.content.Context; import android.content.Intent; public class MainActivity extends Activity { Toast mToast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.button1); button.setOnClickListener(mOneShotListener); } private OnClickListener mOneShotListener = new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); PendingIntent sender = PendingIntent.getBroadcast(MainActivity.this,0, intent, 0); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, 10); AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); mToast = Toast.makeText(MainActivity.this,"Alarm Started",Toast.LENGTH_LONG); mToast.show(); }}; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
Voici le code de ma classe appelé par mon intent :
Ma classe affiche juste un toast pour me montrer que la classe a bien été appelé.
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 package com.example.test; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class AlarmReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "C'est l'heure !!!",Toast.LENGTH_LONG).show(); } }
Et pour finir mon manifest.xml:
Mon code compile bien, a l'appui de mon bouton j'ai bien mon toast de validation mais au bout de 10 sec rien ne se passe ....
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 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.test.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="com.example.test.alarmreceiver" android:process=":remote" /> </application> </manifest>
Cela fait 2 jour que je bloque et tourne sur internet pour trouver une solution sans résultat.
Merci d'avance de votre aide / explication.
N'hésitez pas a me donner des liens de tuto pour démarré, sachant que je ne sais pas vraiment me servir de Logcat : sa pourrai servir ^^
PS : désolé pour les fautes d'orthographe.
Partager