Android仿淘口令复制弹出框功能(简答版)

所属分类: 软件编程 / Android 阅读数: 49
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多