Hello,
I use manifest to start the app with Locus, and it works, because the app start.
<receiver
android:name=".PeriodicUpdateReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="locus.api.android.ACTION_PERIODIC_UPDATE" />
</intent-filter>
</receiver>
I use a new receiver in running app, while it running. It not receive data.
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Most jött", "adat a locustól");
try {
// Értelmes adat érkezett-e be?
if (intent == null || intent.getAction() == null) {
return;
}
if (!isLocusRunning(context)) {
return;
}
// Beolvassa a kapott adatokat
PeriodicUpdatesHandler.getInstance().onReceive(appContext, intent, updateHandler);
} catch (Exception e) {
return;
}
}
};
IntentFilter filter = new IntentFilter(
LocusConst.ACTION_PERIODIC_UPDATE);
registerReceiver(receiver, filter);
private PeriodicUpdatesHandler.OnUpdate updateHandler = new PeriodicUpdatesHandler.OnUpdate() {
/*
* Locustól kapott adatok beolvasásának a függvénye
*/
@Override
public void onUpdate(LocusUtils.LocusVersion locusVersion, UpdateContainer update) {
lastUpdate = update;
updatee(false);
Log.d("Most jött", "adat a locustól");
}
@Override
public void onIncorrectData() {
}
};