我正在尝试将一些文本复制到剪贴板的通知操作(适用于Android 4.1+)。 我阅读了有关复制粘贴功能的参考资料,现在我有了这个:
ClipboardManager clipboard = (ClipboardManager)
mContext.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("simple text","Hello, World!");
我不知道如何将它放入将被放入PendingIntent的Intent中。
如果你能给我一些例子并解释一下 - 它会很棒!我是android开发的新手。 提前谢谢。
编辑: 我发现了这个:https://stackoverflow.com/a/12601766/1866009但我不能正确理解。
答案 0 :(得分:7)
在android developer的帮助下,此代码解决了问题:
BroadcastReceiver brCopy = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ClipboardManager clipboard = (ClipboardManager)
mContext.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "text");
clipboard.setPrimaryClip(clip);
Toast.makeText(mContext, "Copied!", Toast.LENGTH_SHORT).show();
}
};
IntentFilter intentFilter = new IntentFilter("com.example.ACTION_COPY");
mContext.registerReceiver(brCopy, intentFilter);
Intent copy = new Intent("com.example.ACTION_COPY");
PendingIntent piCopy = PendingIntent.getBroadcast(mContext, 0, copy, PendingIntent.FLAG_CANCEL_CURRENT);
mBuilder.addAction(android.R.drawable.ic_menu_copy, "Copy", piCopy);
答案 1 :(得分:4)
查看本教程关于android通知操作:
http://www.vogella.com/articles/AndroidNotifications/article.html
创建pendingIntent时,给它一个自定义意图,由broadcastReceiver接收(在清单中定义,例如here),然后随意做任何事情(例如复制到剪贴板) 。