Récepteur d'alarme et Manifeste Android
J'ai trouvé plusieurs tutos sur le réglage de l'alarme du récepteur pour envoyer un toast message dans les intervalles de l'ensemble. et j'ai été à la suite du code et brisé mon propre projet en 3 classes.
l'HelloDroidActivity.java est:
package com.example.helloandroid;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
import com.example.helloandroid.alarms.MyAlarmReciever;
public class HelloDroidActivity extends Activity {
/** Called when the activity is first created. */
public static int RTC_WAKEUP;
public static long INTERVAL_FIFTEEN_MINUTES;
private AlarmManager alarmMgr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Krishneel");
setContentView(tv);
Toast.makeText(this, "Alarm went off", Toast.LENGTH_SHORT).show();
Log.d("OnCreate", "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd");
alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MyAlarmReciever.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), 7000, pendingIntent);
}
}
également l'MyAlarmReciever.java(je suis déjà au courant de la faute d'orthographe sur le nom):
package com.example.helloandroid.alarms;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
public class MyAlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//TODO Auto-generated method stub
Log.e("onReceive", "ladskjflsakjdflskjdflskjdfslkjdflasdf");
Toast.makeText(context, "OnReceive alarm test", Toast.LENGTH_SHORT).show();
}
}
et le Manifeste Android qui ressemble à ceci :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name="com.example.helloandroid.HelloDroidActivity"
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="AlarmReceiver">
<intent-filter>
<action android:name="com.example.helloandroid.alarms" />
</intent-filter>
</receiver>
</application>
</manifest>
J'ai lu que pour obtenir le projet de recevoir mon alarmReceiver classe java j'ai besoin de modifier le manifeste avec un nouveau récepteur. mais je suis assez nouveau à XML et ne sais pas quelle direction prendre.
- L'un des sites que j'utilise pour un tutoriel de http://justcallmebrian.com/?p=129
- Jetez un oeil à cette, celui-ci a fonctionné pour moi. dotkam.com/2011/01/10/...
Vous devez vous connecter pour publier un commentaire.
Il y a déjà un récepteur que vous avez définies dans votre fichier de manifeste. Mais le nom n'est pas correct voir le nom doit être le nom complet de la classe j'.e le paquet.RecieverName. Et dans votre cas, le nom de votre récepteur est MyAlarmReciever. De sorte que le récepteur sera définie comme suit
Dans votre manifeste, le récepteur est à l'écoute pour une action appelée
com.example.helloandroid.alarms
. Mais dans votreHelloDroidActivity.java
il n'y a pas une telle action est ajoutée à l'intention.