2012-05-09 13 views
0

ジンジャーブレッドAVDでクリップボードテキストを設定するコマンドラインソリューションが見つかりましたが、このコマンドラインはICS AVDを実行しているときには機能しません。アイスクリームサンドイッチのためのアンドロイドエミュレータのクリップボードを設定するには?

このページからスクリプトを作成しました:Pasting text into Android emulator clipboard using adb shell

また、これは、私がジンジャーブレッドAVDを使用していてもICSクリップボードに書き込むときに戻って来るパーセルには「不明なパッケージ」と書かれています。クリップボードを読み込もうとすると、空の文字列が返されます。

答えて

0

はそれを行う方法は次のとおりです。

私は偽のは、Androidの古いクリップのAPIを使用したときに真に新しいクリップAPIを使用する際のparam oldApiを取るmainメソッドを使用します。

全プロジェクト:https://github.com/daniel-c05/LightClipper/blob/master/src/com/deadpixels/light/clipper/utils/ClipHelper.java

/** 
* 
* @param context The context 
* @param label The label to show to the user via {@code ClipDescription} 
* @param value The actual value to store on the clipboard via {@link ClipHelper#addItemToClipboard(Context, String, String)} 
* @param oldAPI Whether or not we are running on pre-HoneyComb API. 
*/ 
public static void addItemToClipboard(final Context context, final String label, final String value, final boolean oldAPI) { 
    if (oldAPI) { 
     addTextToClipboard(context, value); 
    } 
    else { 
     addItemToClipboard(context, label, value); 
    } 
} 

/** 
* This is only called when oldAPi is passed as false on {@link #addItemToClipboard(Context, String, String, boolean)} 
* @param context The context, required to get the Cliboard System Service. 
* @param label The label to show to the user via {@code ClipDescription} 
* @param value The value to store on the clipboard. 
*/ 
@SuppressLint("NewApi") 
private static void addItemToClipboard (final Context context, final String label, final String value) { 
    ClipboardManager manager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); 
    ClipData.Item item = new Item(value); 
    ClipDescription description = new ClipDescription(label, new String [] {ClipDescription.MIMETYPE_TEXT_PLAIN}); 
    ClipData data = new ClipData(description, item); 
    manager.setPrimaryClip(data);    
} 

/** 
* This is only called when oldAPi is passed as true on {@link #addItemToClipboard(Context, String, String, boolean)} 
* @param context The context, required to get the Cliboard System Service. 
* @param value The value to store on the clipboard. 
*/ 
@SuppressWarnings("deprecation") 
private static void addTextToClipboard (final Context context, final String value) { 
    android.text.ClipboardManager manager = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); 
    manager.setText(value);   
} 
関連する問題