Android で phonegap 用の SMS プラグインを作成しています。メッセージを送信しようとすると、無効なアクション エラーが発生します。Android + phonegap +package managerを見てきました。私の問題は同じですが、リンクの回答は役に立ちません。
これは私の .js ファイルです。
var SmsPlugin = function () {};
SmsPlugin.prototype.send = function (phone, message, successCallback, failureCallback) {
return cordova.exec(successCallback, failureCallback, 'SmsPlugin', "SendSMS", [phone, message]);
};
window.sms = new SmsPlugin();
そして、以下は私の.javaファイルです
package com.*.PhonegapSMSDPN;
import org.apache.cordova.api.PluginResult;
import org.apache.cordova.api.PluginResult.Status;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.PendingIntent;
import android.content.Intent;
import android.telephony.SmsManager;
import android.util.Log;
import android.widget.Toast;
import org.apache.cordova.api.CordovaPlugin;
public class SmsPlugin extends CordovaPlugin {
public final String ACTION_SEND_SMS = "SendSMS";
public PluginResult execute(String action, JSONArray arg1, String callbackId) {
Toast.makeText(this.cordova.getActivity(), action, Toast.LENGTH_SHORT).show();
PluginResult result = new PluginResult(Status.INVALID_ACTION);
Log.e("msg", action);
if (action.equals(ACTION_SEND_SMS)) {
try {
String phoneNumber = arg1.getString(0);
String message = arg1.getString(1);
sendSMS(phoneNumber, message);
result = new PluginResult(Status.OK);
}
catch (JSONException ex) {
result = new PluginResult(Status.JSON_EXCEPTION, ex.getMessage());
Log.e("error", result+" ");
}
}
return result;
}
private void sendSMS(String phoneNumber, String message) {
SmsManager manager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getActivity(this.cordova.getActivity(), 0, new Intent(), 0);
manager.sendTextMessage(phoneNumber, null, message, sentIntent, null);
}
}
config.xml ファイルにも必要な変更を加えました。問題を解決するために私を導いてください。ありがとう
PS-iはPhonegap2.7.0を使用しています