上篇文章给大家介绍了Android实现打开手机淘宝并自动识别淘宝口令弹出商品信息功能,接下来通过本文给大家分享android简单版仿淘口令复制弹出框功能,希望对大家有所帮助!

使用Android系统的粘贴板管理服务及ClipboardManager通过addPrimaryClipChangedListener添加Listener来监听粘贴板的状态,很很简单的一个小功能~

1.首先创建一个Service在后台运行:

Intent intent = new Intent(this,MainService.class); startService(intent); 

另外同时在OnResume()中获得粘贴板复制的内容,用于在APP未启动或者Service被关闭时重新启动APP来弹出口令窗口

@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()做想要的事情,例如弹出框:

使用WindowManager来显示弹出框

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, "alpha", 1.0f,0.0f);  animatorHide.setDuration(500);  animatorHide.setStartDelay(3000);  animatorHide.start(); 

点击弹出框,跳转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仿淘口令复制弹出框功能(简答版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. Android(安卓)命令窗口中adb常用命令
  2. 详解使用tcpdump、wireshark对Android应用程序进行抓包并分析
  3. Android(安卓)开发照相功能实例详解
  4. Android(安卓)Camera(一)
  5. Android中APP、AMS、WMS的Binder IPC
  6. Android(安卓)屏幕窗口Log日志调试库 LogcatViewer
  7. 【Android】Parse 开发笔记(3)—— 实现查找附近的功能(LBS)
  8. Android实现系统状态栏的隐藏和显示功能
  9. Android(安卓)SearchView 实现一边输入一边搜索功能

随机推荐

  1. Android有趣的全透明效果--Activity及Dia
  2. 实例:在Android调用WCF服务(wcf restful)
  3. Android开发资源完全汇总
  4. android 学习RxJava+Retrofit的资料
  5. Android EditText光标颜色 与inputType
  6. android 分辨率调试
  7. Android修行之路——Android程序设计基础
  8. 在 ubuntu10.04下 载 android源码 步骤
  9. android默认属性
  10. android设置按钮背景透明度与设置布局背