J'ai une application android et j'ai un récepteur de WakefulBroadcastReceiver
qui n'est jamais appelé.récepteur android ne s'appelle pas
J'ai mis un point d'arrêt sur le AlaramReceiver.java
et je n'y suis jamais entré. J'ai vérifié le cas et comment il orthographiait le nom de classe de récepteur.
Je vais ajouter mon manifeste et les classes java liées.
Merci pour votre aide.
manifeste:
<receiver android:name="fr.cls.mobility.myclsdroiddata.service.android.OnAlarmReceiver_">
AlarmReceiver_.class:
public final class OnAlarmReceiver_
extends OnAlarmReceiver
{
}
AlamarReceiver.java:
@EReceiver
public class OnAlarmReceiver extends WakefulBroadcastReceiver {
private static final String LOG_MESSAGE_ON_RECEIVE = "startWakefulService with context and DataDownloadIntentServiceFactory.getIntentAlarmReceived";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(OnAlarmReceiver.class.getSimpleName(), LOG_MESSAGE_ON_RECEIVE);
startWakefulService(context, DataDownloadIntentServiceFactory.getIntentAlarmReceived(context, null));
}
}
DataDownloadIntentServiceFactory.java:
package fr.cls.mobility.myclsdroiddata.service.android;
import com.effitic.delegates.Action;
import android.content.Context;
import android.content.Intent;
import android.os.Parcelable;
import android.os.ResultReceiver;
/**
* Cette classe crée les différents services Android de mise à jour des positions. <br>
* <br>
* Copyright : Copyright (c) 2013 <br>
* <br>
* Société : CLS (Collecte Localisation Satellites)
*
* @author Effitic
* @version Revision: 1.1.0.02 - Date: 2014-01-15
*/
public final class DataDownloadIntentServiceFactory {
/**
* Constructeur.
*/
private DataDownloadIntentServiceFactory() {
super();
}
public static Intent getIntentNetworkStateChanged(Context context, boolean networkAvailable) {
Intent dataDownloadIntentService = createIntent(context, null, DataDownloadIntentService.NETWORK_STATE_CHANGED);
dataDownloadIntentService.putExtra(DataDownloadIntentService.NETWORK_STATE_CHANGED, networkAvailable);
return dataDownloadIntentService;
}
private static Intent createIntent(Context context, ResultReceiver resultReceiver, String type) {
Intent dataDownloadIntentService = DataDownloadIntentService_.intent(context).get();
dataDownloadIntentService.putExtra(DataDownloadIntentService.TYPE, type);
dataDownloadIntentService.putExtra(DataDownloadIntentService.RESULT_RECEIVER, resultReceiver);
return dataDownloadIntentService;
}
public static Intent getIntentAlarmReceived(Context context, final Action<Object> refreshFinishedHandler) {
ResultReceiver resultReceiver = new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, android.os.Bundle resultData) {
if (refreshFinishedHandler != null) {
refreshFinishedHandler.execute(null);
}
};
};
Intent dataDownloadIntentService = createIntent(context, resultReceiver, DataDownloadIntentService.ALARM_RECEIVED);
return dataDownloadIntentService;
}
public static Intent getIntentRefresh(Context context, final Action<Object> refreshFinishedHandler) {
ResultReceiver resultReceiver = new ResultReceiver(null) {
@Override
protected void onReceiveResult(int resultCode, android.os.Bundle resultData) {
if (refreshFinishedHandler != null) {
refreshFinishedHandler.execute(null);
}
};
};
Intent dataDownloadIntentService = createIntent(context, resultReceiver, DataDownloadIntentService.REFRESH);
return dataDownloadIntentService;
}
public static Intent getIntentBootCompleteReceived(Context context) {
Intent dataDownloadIntentService = createIntent(context, null, DataDownloadIntentService.BOOT_COMPLETE_RECEIVED);
return dataDownloadIntentService;
}
public static <T extends ResultReceiver> T getResultReceiverFromIntent(Intent intent, Class<T> clazz) {
Parcelable o = intent.getParcelableExtra(DataDownloadIntentService.RESULT_RECEIVER);
if (clazz.isInstance(o)) {
return clazz.cast(o);
}
return null;
}
}
mon manifeste:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="51" android:versionName="1.3.01-SNAPSHOT" package="fr.cls.mobility.myclsdroiddata">
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="14"/>
<!-- permissions -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- pour le stockages des tuiles de carto -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application android:allowBackup="false" android:debuggable="true" android:icon="@drawable/notif" android:label="@string/app_name" android:name="fr.cls.mobility.myclsdroiddata.view.application.CLSApplication_" android:theme="@style/AppTheme2">
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:hardwareAccelerated="false" android:label="@string/app_name" android:launchMode="singleTop" android:name="fr.cls.mobility.myclsdroiddata.view.activity.MapViewActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:name="fr.cls.mobility.myclsdroiddata.view.activity.PanelFragmentActivity" android:windowSoftInputMode="stateHidden"/>
<service android:name="fr.cls.mobility.myclsdroiddata.service.android.DataDownloadIntentService_"/>
<receiver android:name="fr.cls.mobility.myclsdroiddata.service.android.OnBootReceiver_">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<receiver android:name="fr.cls.mobility.myclsdroiddata.service.android.OnNetworkStateChangedReceiver_">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
<receiver android:name="fr.cls.mobility.myclsdroiddata.service.android.OnAlarmReceiver_"/>
</application>
</manifest>
Où se trouve l'élément '' dans le manifeste? Il doit être entre les balises '', mais pas dans les autres, comme' 'ou' '. –
Merci pour votre commentaire. J'ai vérifié et ça semble aller. – lcros