3

我正在尝试执行通知操作(适用于 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但我没有正确理解。

4

2 回答 2

8

With android developer's help the problem was solved by this code:

        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);
于 2013-01-12T15:12:36.360 回答
4

查看有关 android 通知操作的本教程:

http://www.vogella.com/articles/AndroidNotifications/article.html

在创建 pendingIntent 时,给它一个自定义意图,该意图将由您的 broadcastReceiver 接收(在您的清单中定义,此处的示例),然后用它做任何您想做的事情(例如复制到剪贴板)。

于 2013-01-12T11:44:36.113 回答