Как создать плагин в phonegap для запуска приложения в фоновом режиме?

Я создал плагин для фонового сервиса (для запуска приложения в фоновом режиме) в phonegap.

вот мой код Java для плагина:

public class BackgroundService extends Plugin {
    @Override
    public PluginResult execute(String action, JSONArray args, String callbackId)
    {
        PluginResult.Status status = PluginResult.Status.OK;
        String result = "";

        try {
            if (action.equals("onCreate")) {
                this.onCreate();
            }
            else if (action.equals("onBind")) {
                Intent intent = null;
                this.onBind(intent);
            }
            else if (action.equals("onDestroy")) {
                this.onDestroy();
            }
            else if (action.equals("onStart")) {
                Intent intent = null;
                this.onStart(intent,args.getInt(1));
            }
            else if (action.equals("onUnbind")) {
                Intent intent = null;
                this.onUnbind(intent);
            }
            return new PluginResult(status, result);
        } catch(JSONException e) {
            return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
        }
    }
    public void onCreate() {

        // TODO Auto-generated method stub



        }
    public IBinder onBind(Intent intent) {

        // TODO Auto-generated method stub



        return null;

        }
    public void onDestroy() {

        // TODO Auto-generated method stub

        super.onDestroy();



        }
    public void onStart(Intent intent, int startId) {

        // TODO Auto-generated method stub

        //super.onStart(intent, startId);



        }
    public boolean onUnbind(Intent intent) {

        // TODO Auto-generated method stub



        }
    public void onPause()
    {
        super.webView.loadUrl("javascript:navigator.BackgroundService.onBackground();");
    }

    public void onResume()
    {
        super.webView.loadUrl("javascript:navigator.BackgroundService.onForeground();");
    }

}

и мой файл js:

function BackgroundService() {
};

BackgroundService.prototype.create = function() {
    PhoneGap.exec(null, null, "BackgroundService", "onCreate", []);
};

BackgroundService.prototype.destroy = function() {
    PhoneGap.exec(null, null, "BackgroundService", "onDestroy", []);
};

BackgroundService.prototype.start = function(intent,startId) {
    PhoneGap.exec(null, null, "BackgroundService", "onStart", [intent,startId]);
};

BackgroundService.prototype.bind = function(intent) {
    PhoneGap.exec(null, null, "BackgroundService", "onBind", [intent]);
};

BackgroundService.prototype.unbind = function(intent) {
    PhoneGap.exec(null, null, "BackgroundService", "onUnbind", [intent]);
};
PhoneGap.addConstructor(function() {
    PhoneGap.addPlugin("BackgroundService", new BackgroundService());
});

и в моем index.html. Я добавил ниже код в моей кнопке

navigator.BackgroundService.onCreate (); navigator.BackgroundService.onStart (намерение, 1);

Моя ошибка:

ERROR/AndroidRuntime(14981): FATAL EXCEPTION: main

ERROR/AndroidRuntime(14981): java.lang.RuntimeException: Unable to instantiate service com.app.newly.BackgroundService: java.lang.ClassCastException: com.app.newly.BackgroundService

ERROR/AndroidRuntime(14981):at android.app.ActivityThread.handleCreateService(ActivityThread.java:2943)

ERROR/AndroidRuntime(14981):at android.app.ActivityThread.access$3300(ActivityThread.java:125)

ERROR/AndroidRuntime(14981):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087)
ERROR/AndroidRuntime(14981):     at android.os.Handler.dispatchMessage(Handler.java:99)

ERROR/AndroidRuntime(14981):     at android.os.Looper.loop(Looper.java:123)

ERROR/AndroidRuntime(14981):     at android.app.ActivityThread.main(ActivityThread.java:4627)
ERROR/AndroidRuntime(14981):     at java.lang.reflect.Method.invokeNative(Native Method)

ERROR/AndroidRuntime(14981):     at java.lang.reflect.Method.invoke(Method.java:521)

ERROR/AndroidRuntime(14981):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

ERROR/AndroidRuntime(14981):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
ERROR/AndroidRuntime(14981):     at dalvik.system.NativeStart.main(Native Method)
ERROR/AndroidRuntime(14981): Caused by: java.lang.ClassCastException: com.app.newly.BackgroundService
ERROR/AndroidRuntime(14981):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2940)
ERROR/AndroidRuntime(14981):     ... 10 more

Если бы я удалилstartService (новое намерение (это MyService.class)); из Java-файла я получил следующую ошибку:

ERROR/Web Console(4785): ReferenceError: Can't find variable: SqlitePlugin at file:///android_asset/www/BackgroundService.js:31
ERROR/Web Console(4785): TypeError: Result of expression 'window.plugins.SqlitePlugin' [undefined] is not an object. at file:///android_asset/www/index.html:26

в противном случае я не могу запустить приложение. Я получаю сообщение об ошибке в Java-файле.X') в левом углу этой строки' startService (new Intent (this, MyService.class)); ' Пожалуйста, скажите мне, где я не прав, пожалуйста, направьте меня, спасибо заранее.

 Я получаю сообщение об ошибке при запуске службы. Когда я перемещаю курсор на startService, я получаю метод создания 'startService (intent)'

И у меня есть сомнения в этом плагине, могу ли я запустить javascript в фоновом режиме или нет. Если возможно, как получить предупреждение в фоновом режиме. Пожалуйста, скажите мне, где я не прав, пожалуйста, сообщите мне, спасибо заранее.

Ответы на вопрос(2)

Ваш ответ на вопрос