在android phonegap上的后台服务中运行javascript

时间:2014-02-23 20:42:40

标签: javascript android cordova

我正在开发应用程序,我最近在以下帮助下实施了后台服务:https://github.com/Red-Folder/Cordova-Plugin-BackgroundService/

一切正常,重启手机后服务在后台运行。 但是在执行Java方法的后台服务中每隔5分钟“DoWork”第20行https://github.com/Red-Folder/Cordova-Plugin-BackgroundService/blob/master/2.2.0/MyService.java

  package com.yournamespace.yourappname;

import java.text.SimpleDateFormat; import java.util.Date;

import org.json.JSONException; import org.json.JSONObject;

import android.util.Log;

import com.red_folder.phonegap.plugin.backgroundservice.BackgroundService;

公共类MyService扩展了BackgroundService {

private final static String TAG = MyService.class.getSimpleName();

private String mHelloTo = "World";

@Override
protected JSONObject doWork() {
    JSONObject result = new JSONObject();

    try {
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); 
        String now = df.format(new Date(System.currentTimeMillis())); 

        String msg = "Hello " + this.mHelloTo + " - its currently " + now;
        result.put("Message", msg);

        Log.d(TAG, msg);
    } catch (JSONException e) {
    }

    return result;  
}

@Override
protected JSONObject getConfig() {
    JSONObject result = new JSONObject();

    try {
        result.put("HelloTo", this.mHelloTo);
    } catch (JSONException e) {
    }

    return result;
}

@Override
protected void setConfig(JSONObject config) {
    try {
        if (config.has("HelloTo"))
            this.mHelloTo = config.getString("HelloTo");
    } catch (JSONException e) {
    }

}     

@Override
protected JSONObject initialiseLatestResult() {
    // TODO Auto-generated method stub
    return null;
}

@Override
protected void onTimerEnabled() {
    // TODO Auto-generated method stub

}

@Override
protected void onTimerDisabled() {
    // TODO Auto-generated method stub

}

}

我想从该方法调用JavaScript函数。 Javascript函数执行以下操作: - 获取所有设备联系人 - 获取设备GeoLocation - 获取设备IMEI和phonenumber

并发布到外部服务器。 我想知道是否可以从Java调用javascript函数。 注意:我对Java知之甚少,所以我们将非常感谢您的详细解释。 提前谢谢!

0 个答案:

没有答案