package org.teusink.plugins;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
import android.util.Log;
public class Share extends CordovaPlugin {
public static final String LOG_PROV = "jpHoloLog";
public static final String LOG_NAME = "Share Plugin: ";
@Override
public boolean execute(final String action, final JSONArray args,
final CallbackContext callbackContext) {
cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
try {
final JSONObject jo = args.getJSONObject(0);
doSendIntent(jo.getString("subject"), jo.getString("text"));
callbackContext.sendPluginResult(new PluginResult(
PluginResult.Status.OK));
} catch (final JSONException e) {
Log.e(LOG_PROV, LOG_NAME + "Error: "
+ PluginResult.Status.JSON_EXCEPTION);
e.printStackTrace();
callbackContext.sendPluginResult(new PluginResult(
PluginResult.Status.JSON_EXCEPTION));
}
}
});
return true;
}
private void doSendIntent(final String subject, final String text) {
final Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, text);
cordova.getActivity().startActivityForResult(sendIntent, 0);
}
}