android如何监听粘贴板内容
来源:互联网 发布:图片制作拼图软件 编辑:程序博客网 时间:2024/06/05 23:42
android如何监听粘贴板内容
最近项目做监听粘贴板弹窗的功能小记一下。其实思路很简单,写一个服务在后台跑,通过ClipboardManager服务来监听粘贴板。废话绍少说上代码:
~~~java
public class PasteCopyService extends Service {
ClipboardManager clipboardManager;
private String Tag = "pastecopy";private WindowManager wm;private Window mWindow;@Overridepublic void onCreate() { super.onCreate(); BabytreeLog.e(Tag,"onCreate"); clipboardManager =(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); final WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.type = WindowManager.LayoutParams.TYPE_TOAST; params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; params.width = TimeApplication.screenWidth; params.gravity = Gravity.TOP; params.height = 200; params.x = 0; params.y = 0; final LayoutInflater mInflater = LayoutInflater.from(this); final View view = mInflater.inflate(R.layout.window_paste_copy,null); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(AvoidLoginUtil.isLogin(PasteCopyService.this)){ Intent intent = new Intent(PasteCopyService.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } wm.removeView(view); } }); clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() { @Override public void onPrimaryClipChanged() { wm.addView(view,params); view.post(new Runnable() { @Override public void run() { } }); Toast.makeText(PasteCopyService.this,"测试",Toast.LENGTH_SHORT).show(); } });}@Overridepublic void onDestroy() { BabytreeLog.e(Tag,"onDestroy"); super.onDestroy();}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) { BabytreeLog.e(Tag,"onStartCommand"); return super.onStartCommand(intent, flags, startId);}@Nullable@Overridepublic IBinder onBind(Intent intent) { return null;}
}
~~~
为了弹窗要在Manifest上加入权限
~xml
~
这些代码并不是真正的项目里的实现的代码,好多ui,和动画,还有于业务上有关系的代码都没有贴上来。其实并没有什么难度,只是一个思路而已。通过ClipboardManager的OnPrimaryClipChangedListener可以监听到剪贴板的动作。如果剪贴板有新的粘贴内容便可以执行onPrimaryClipChanged中的内容。这里有些细节,WindowManager.LayoutParams.TYPE_TOAST这样可以避开某些手机的弹出提醒。经过测试如果服务在后台没有杀死可以成功弹起弹窗在任何界面。
0 0
- android如何监听粘贴板内容
- Android 监听粘贴
- 监听剪切板内容,解决复制粘贴内容格式错乱
- android 监听复制粘贴等操作
- android 监听EditText复制粘贴等操作
- Android 复制粘贴对话框弹出监听实现
- android EditText 监听复制粘贴等操作
- Android 如何监听App的输入了那些内容
- 获取粘贴板的内容
- 复制内容至粘贴板
- Android短信内容的监听
- Android-监听EditText内容变化
- Android: EditText监听内容变化
- Android-ContentObserver内容监听者
- Android 自定义键盘输入内容监听
- Android如何监听按键
- JS复制特定内容到粘贴板
- Jquery实现复制内容到粘贴板
- Java中自定义异常
- swift 开发 导航栏隐藏无效解决办法
- android数据存储方式
- leetcode-22 Generate Parentheses
- 【项目管理和构建】——Maven简介(一)
- android如何监听粘贴板内容
- HTML学习小记2
- Android中控件的隐藏和显示
- github使用教程
- 1.题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入
- 【项目管理和构建】——Maven下载、安装和配置(二)
- CSS和HTML的四种结合方式
- 初探mongo之备份还原
- idea使用generator插件自动生成代码工具遇到的问题