Ionic 2地理围栏的背景服务不会触发

时间:2018-06-02 21:20:29

标签: java ionic2 geofencing android-geofence

我正在开发一款需要地理围栏才能在后台运行的离子应用。我正在使用cordova-plugin-geofence插件。我知道JavaScript不会在后台运行,并且插件开发人员提供本机代码来监听地理围栏转换。

我按照说明操作,但似乎没有用。应用程序关闭时不会触发转换。

以下是我的包名:io.ionic.pla

我将此代码放在我的Android Manifest

        <receiver android:name="io.ionic.pla.TransitionReceiver">
            <intent-filter>
                <action android:name="com.cowbell.cordova.geofence.TRANSITION" />
            </intent-filter>
        </receiver>

这是我的TransitionReceiver.java

            package io.ionic.pla;

            import android.content.BroadcastReceiver;
            import android.content.Context;
            import android.content.Intent;
            import android.util.Log;

            import com.cowbell.cordova.geofence.Gson;
            import com.cowbell.cordova.geofence.GeoNotification;

            public class TransitionReceiver extends BroadcastReceiver {

                @Override
                public void onReceive(Context context, Intent intent) {
                    String error = intent.getStringExtra("error");

                    if (error != null) {
                        //handle error
                        Log.println(Log.ERROR, "YourAppTAG", error);
                    } else {
                        String geofencesJson = intent.getStringExtra("transitionData");
                        Log.println(Log.INFO, "xxxYourAppTAG", geofencesJson);
                        GeoNotification[] geoNotifications = Gson.get().fromJson(geofencesJson, GeoNotification[].class);
                        //handle geoNotifications objects
                    }
                }
            }

请帮帮我们,我真的需要这个工作。

0 个答案:

没有答案