- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果用户将某些内容复制到剪贴板,我希望收到通知。
我创建了一个服务并在 HomeActivity 中启动它,我还编写了一个计时器来检查我的服务是否正常工作。我检查过,我的服务正在运行 Log cat 显示这一点。但我的监听器方法不起作用,我在这里缺少什么?
ClipBoardWatcherService:
public class ClipBoardWatcherService extends Service {
private final String tag = "FameThings";
private ClipboardManager.OnPrimaryClipChangedListener listener = new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
performClipBoardCheck();
}
};
public static void start(Context context) {
Intent i = new Intent(context, ClipBoardWatcherService.class);
context.startService(i);
}
@Override
public void onCreate() {
((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).addPrimaryClipChangedListener(this.listener);
new Timer().scheduleAtFixedRate(new TimerTask(){
@Override
public void run(){
Log.i("tag", "A Kiss every 5 seconds");
}
},0,5000);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
private void performClipBoardCheck() {
ClipboardManager cb = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
if(cb.hasPrimaryClip()) {
ClipData cd = cb.getPrimaryClip();
if(cd.getDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_URILIST)) {
Log.i(tag, cd.getDescription().toString());
}
}
}
}
家庭 Activity :
public class HomeActivity extends AppCompatActivity {
//...
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
ClipBoardWatcherService.start(this);
//...
}
//...
}
list :
<service
android:label="ClipBoard Listener"
android:exported="false"
android:name=".service.ClipBoardWatcherService" />
我启动了我的应用程序并打开了 Youtube 应用程序,打开了一个视频,然后单击了共享按钮,然后单击了“复制”按钮,但 LogCat 上没有任何记录,只有我的计时器在工作。LogCat:
//...
2019-10-12 00:11:32.925 9314-9424/com.famethings.android I/tag: A Kiss every 5 seconds
2019-10-12 00:11:37.963 9314-9424/com.famethings.android I/tag: A Kiss every 5 seconds
2019-10-12 00:11:42.963 9314-9424/com.famethings.android I/tag: A Kiss every 5 seconds
2019-10-12 00:11:47.961 9314-9424/com.famethings.android I/tag: A Kiss every 5 seconds
2019-10-12 00:11:52.940 9314-9424/com.famethings.android I/tag: A Kiss every 5 seconds
最佳答案
安卓Q:如果应用程序不是默认 IME 或没有输入焦点,则返回 null。与 OnPrimaryClipChangedListener 相同。
https://developer.android.com/about/versions/10/privacy/changes#clipboard-data
https://shoewann0402.github.io/2019/03/27/android-q-beta-access-clipboard-data/
关于android - ClipBoardManager.OnPrimaryClipChangedListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58348568/
注意:导包的时候 API 11之前: android.text.ClipboardManager API 11之后: android.content.ClipboardManager  
如果用户将某些内容复制到剪贴板,我希望收到通知。 我创建了一个服务并在 HomeActivity 中启动它,我还编写了一个计时器来检查我的服务是否正常工作。我检查过,我的服务正在运行 Log cat
for (TextView currentText : txts) { currentText.setTextSize(heightText); currentText
当我将文本复制到剪贴板时,onPrimaryClipChanged 方法被调用了两次。有什么想法吗? @Override public boolean onCreateOptionsMenu(Menu
我正在开发一个 android 应用程序,并且需要将文本(从 listView 项目)复制到剪贴板以便将其粘贴到 editText 中。 所以复制函数看起来像: ClipboardManager c
android.text.ClipboardManager 自 API 级别 11 起已弃用,并替换为 android.content.ClipboardManager ( source )。 如何编
我知道 question is already been asked但是,它仍然不能帮助我解决问题 将数据复制到剪贴板管理器时遇到问题 下面是代码 fun copyToClipboard(contex
Android Q 阻止后台剪贴板访问。有什么方法可以在我的应用程序中使用此服务吗?有权限启用此功能吗? 最佳答案 正如之前传闻的那样,Google 限制了对剪贴板数据的访问。 我在 com.andr
我想实现一个监听器,如果有人从任何应用程序复制任何内容,它将监听。 我听说 ClipboardManager.OnPrimaryClipChangedListener() 它将监听复制操作,但这不是接
我想实现一个监听器,如果有人从任何应用程序复制了任何东西,它就会监听。 我听说 ClipboardManager.OnPrimaryClipChangedListener() 会监听复制操作,但这不是
我想将存储在资源文件夹中的图像复制到剪贴板管理器,以便稍后粘贴到另一个应用程序,如邮件、whatapp 或聊天。我有几个研究人员链接,有人提到这可以通过将 uri 制作到文件来完成。 这是我得到的最好
构建我的应用程序的发布版本时,构建失败并出现以下错误: 错误:错误:可疑转换为 CLIPBOARD_SERVICE 的文本:预期 ClipboardManager [ServiceCast] 调试版本
我用下面的代码来监听剪贴板的变化,我希望在操作完成后移除监听。 但是clipboard.removePrimaryClipChangedListener{ }需要传参,我该怎么办? 代码 btnMo
我在 logcat 中收到一条消息,说明: Failed resolving interface 26 Landroid/content/ClipboardManager$OnPrimaryClipC
我已阅读文章How to pass and get value from fragment and activity android kotlin 我必须将 Activity 中的 var mClip
在我的 Android 应用程序中,我碰巧使用以下代码从 TextView 复制文本。 buttonCopy.setOnClickListener(new View.OnClickListener()
我正在创建一个应用程序,用户可以在 30 秒内将文本复制到剪贴板。 30 秒后,即使应用程序已关闭,文本也需要从剪贴板中删除 在我的主要 Activity 中,我有以下代码: OneTimeWorkR
我是一名优秀的程序员,十分优秀!