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

Reply via email to