上篇文章给大家介绍了Android实现打开手机淘宝并自动识别淘宝口令d出商品信息功能,接下来通过本文给大家分享androID简单版仿淘口令复制d出框功能,希望对大家有所帮助!
使用AndroID系统的粘贴板管理服务及ClipboardManager通过addPrimaryClipChangedListener添加Listener来监听粘贴板的状态,很很简单的一个小功能~
1.首先创建一个Service在后台运行:
Intent intent = new Intent(this,MainService.class); startService(intent);
另外同时在OnResume()中获得粘贴板复制的内容,用于在APP未启动或者Service被关闭时重新启动APP来d出口令窗口
@OverrIDe protected voID onResume() { // Todo auto-generated method stub super.onResume(); ClipboardManager mClipboardManager = (ClipboardManager)getSystemService(Context.CliPBOARD_SERVICE); Log.e("copyListenerdemo",mClipboardManager.getPrimaryClip().getItemAt(0).getText().toString()); }
2.在Service管理粘贴板服务:
mClipboardManager = (ClipboardManager)getSystemService(Context.CliPBOARD_SERVICE); mClipboardManager.addPrimaryClipChangedListener(mPrimaryClipChangedListener);
3.在onPrimaryClipChanged()做想要的事情,例如d出框:
使用WindowManager来显示d出框
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final VIEw floatVIEw = layoutInflater.inflate(R.layout.floater,null); final WindowManager mWindowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE); LayoutParams params = new WindowManager.LayoutParams(); params.type = WindowManager.LayoutParams.TYPE_SYstem_ERROR;//系统内部错误提示,显示于所有内容之上 params.format = PixelFormat.RGBA_8888; params.flags = WindowManager.LayoutParams.FLAG_NOT_touch_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; //当窗口可以获得焦点(没有设置FLAG_NOT_FOCUSALBE选项)时,仍然将窗口范围之外的点设备事件(鼠标、触摸屏)发送给后面的窗口处理 params.wIDth = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; params.gravity = Gravity.left | Gravity.top; params.x = 0; params.y = 0; mWindowManager.addVIEw(floatVIEw,params); ObjectAnimator animatorShow = ObjectAnimator.offloat(floatVIEw,"Alpha",0.0f,1.0f); animatorShow.setDuration(500); animatorShow.start(); ObjectAnimator animatorHIDe = ObjectAnimator.offloat(floatVIEw,1.0f,0.0f); animatorHIDe.setDuration(500); animatorHIDe.setStartDelay(3000); animatorHIDe.start();
点击d出框,跳转activity
floatVIEw.setonClickListener(new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { // Todo auto-generated method stub Toast.makeText(MainService.this,"点击淘口令",Toast.LENGTH_SHORT).show(); Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClass(MainService.this,xxActivity.class); startActivity(intent); } });
很简单的小功能,不过应用的实际过程应该还会出现一些待解决的小问题
好了,下面看下淘口令原理:ClipBoard笔记
Clipboard是AndroID提供的一个系统服务,它提供了一个全局的剪贴板,让文字、图片、数据,在多App间共享成为可能。
Clipboard的基本使用,分为三步:
获得ClipboardManager:
ClipboardManager mClipboardManager = mClipboardManager = (ClipboardManager) getSystemService(CliPBOARD_SERVICE);
copy:
ClipData mClipData; String text = "hello world"; mClipData = ClipData.newPlainText("test",text); mClipboardManager.setPrimaryClip(mClipData);
Paste:
ClipData clipData = mClipboardManager.getPrimaryClip(); ClipData.Item item = clipData.getItemAt(0); String text = item.getText().toString();
搞定!
总结
以上所述是小编给大家介绍的AndroID仿淘口令复制d出框功能(简答版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
总结以上是内存溢出为你收集整理的Android仿淘口令复制d出框功能(简答版)全部内容,希望文章能够帮你解决Android仿淘口令复制d出框功能(简答版)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)