phonegap プラグイン クラスからサービスを呼び出そうとしています。ここで提供されているすべての回答を試しましたが、できませんでした。サービスが呼び出されません。助けが必要 ..
プラグイン Java コード -
package com.salesforce.androidsdk.phonegap;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
/**
* This class echoes a string called from JavaScript.
*/
public class Echo extends CordovaPlugin {
private static final String TAG = "CordovaPlugin";
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
Log.i(TAG,"inside execute method--->>>" + action + args + callbackContext);
if (action.trim().equalsIgnoreCase("echo")) {
Log.i(TAG,"args.getString(0)--->>>" + args.getString(0));
String message = args.getString(0);
// Initialise the service variables and start it it up
Context thiscontext = this.cordova.getActivity().getApplicationContext();
Intent callBackgroundService = new Intent(thiscontext, CallBackgroundService.class);
callBackgroundService.putExtra("loadinterval", 800); // Set LED flash interval
thiscontext.startService(callBackgroundService);
this.echo(message, callbackContext);
return true;
}
return false;
}
private void echo(String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}
BackgroundService コード -
package com.salesforce.androidsdk.phonegap;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
public class CallBackgroundService extends Service {
private static final String TAG = "CallBackgroundService";
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "in create", Toast.LENGTH_LONG).show();
Log.i(TAG , "inside call background service oncreatye");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//TODO do something useful
Log.i(TAG , "inside call background service");
Toast.makeText(this, "in start", Toast.LENGTH_LONG).show();
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
//TODO for communication return IBinder implementation
Log.i(TAG , "inside call background service");
Toast.makeText(this, "in start", Toast.LENGTH_LONG).show();
return null;
}
}
マニフェストに次の行を追加しました
<service android:exported="true" android:label="@string/service_name" android:enabled="true" android:name="com.salesforce.androidsdk.phonegap.CallBackgroundService" />
しかし、まだログ メッセージやエラーが表示されません。ここで何が間違っていますか?? このコードを 6 時間連続で使用すると、理解できません。よろしくお願いします。