2

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 時間連続で使用すると、理解できません。よろしくお願いします。

4

0 に答える 0