Hi guys, i have the following code of a Phonegap plugin:
/**
* Phonegap ClipboardManager plugin
* Omer Saatcioglu 2011
* enhanced by Guillaume Charhon - Smart Mobile Software 2011
*
*/
package com.saatcioglu.phonegap.clipboardmanager;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.Activity;
import android.content.Context;
import android.text.ClipboardManager;
import android.util.Log;
import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult;
//public class ClipboardManagerPlugin extends Plugin {
public class ClipboardManagerPlugin extends Plugin{
private static final String actionCopy = "copy";
private static final String actionPaste = "paste";
private static final String errorParse = "Couldn't get the text to
copy";
private static final String errorUnknown = "Unknown Error";
int versao = android.os.Build.VERSION.SDK_INT;
private ClipboardManager mClipboardManager;
//android.text.ClipboardManager mClipboardManager;
/**
* Executes the request and returns PluginResult.
*
* @param action
* The action to execute.
* @param args
* JSONArry of arguments for the plugin.
* @param callbackId
* The callback id used when calling back into JavaScript.
* @return A PluginResult object with a status and message.
*/
public PluginResult execute(String action, JSONArray args, String
callbackId) {
// mClipboardManager = null;
// If we do not have the clipboard
if(mClipboardManager == null)
mClipboardManager = (ClipboardManager)
cordova.getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
// Copy
if (action.equals(actionCopy)) {
String arg = "";
Log.v("teste","Antes do try.");
try {
arg = (String) args.get(0);
Log.v("teste",arg);
mClipboardManager.setText(arg);
} catch (JSONException e) {
return new PluginResult(PluginResult.Status.ERROR,
errorParse);
} catch (Exception e) {
return new PluginResult(PluginResult.Status.ERROR,
errorUnknown);
}
return new PluginResult(PluginResult.Status.OK, arg);
// Paste
} else if (action.equals(actionPaste)) {
String arg = (String) mClipboardManager.getText();
if (arg == null) {
arg = "";
}
return new PluginResult(PluginResult.Status.OK, arg);
} else {
return new PluginResult(PluginResult.Status.INVALID_ACTION);
}
}
}
It's working fine on Android 2.1,2.2 and 2.3 but not in newer versions, i
tried to debug and the code stops at " mClipboardManager =
(ClipboardManager)
cordova.getActivity().getSystemService(Context.CLIPBOARD_SERVICE);" with no
error messages, it's just don't proceed, anyone can give me a help? it's
driving me crazy, thanks.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en