4

我正在尝试开发一个在将数据粘贴到任何地方时提供额外选项的 Android 应用程序。

我知道如何从剪贴板捕获数据。我只需要知道如何在其他应用程序(例如浏览器、facebook、twitter 等)的任何文本区域中收听 longclick 事件,以便触发我的应用程序,让用户可以选择在处理后将数据粘贴到剪贴板上它,作为以正常方式粘贴它的替代方法。

4

2 回答 2

0

自从您提出这个问题以来,我们已经走了很长一段路,但实际上有两种方法可以做到这一点:

  1. 当用户复制文本时调用 toClipboardManager.addPrimaryClipChangedListener()并注册为侦听器。可以在文档中找到

  2. 添加ACTION_PROCESS_TEXT意图过滤器,以便用户可以选择您创建/启动应用程序的自定义操作。更多可以在这篇博客文章中找到

于 2018-01-27T00:30:30.800 回答
-1

您需要向相关活动添加意图过滤器,如下所示:

        <activity android:name=".PostActivity">
            <intent-filter>
              <action android:name="android.intent.action.SEND" />
              <category android:name="android.intent.category.DEFAULT" />
              <data android:mimeType="text/plain" />
            </intent-filter>       
        </activity>

然后你只需要在你的Activity中处理intent中发送给你的数据

Uri data = getIntent().getData();
Bundle extras = getIntent().getExtras();
String messageText = "";
if (data != null) {
  messageText = data.toString();
} else if (extras != null) {
  messageText = extras.getString(Intent.EXTRA_TEXT);
}
于 2011-05-10T02:52:32.977 回答