使用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);

}

});

很简单的小功能,不过应用的实际过程应该还会出现一些待解决的小问题

android 高仿淘口令,[Android开发]简单版仿淘口令复制弹出框功能相关推荐

  1. Android仿淘宝口令复制弹出框功能

    1.我要做什么 应用场景: 我的朋友使用微信给我发一个淘宝链接的口令,我复制口令,进入我的淘宝,弹框,显示口令的详情,点击详情,进入商品页面. 存在的问题: 但这存在一个问题,我的淘宝并不总是关闭状态 ...

  2. Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能

    本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多&q ...

  3. React开发(106):方法定义 不然弹出框报错

    hideSureModal = () => {this.setState({sortModel: false,});};

  4. android开发自动提示框,Android 多种简单的弹出框样式设置代码

    简介 这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明.同时也可自定义弹出框. 项目地址:http://www.easck.com/j ...

  5. android自定义模态框,安卓开发自定义弹出框的简单方式(纯代码布局)

    弹出框在安卓开发中是经常会用到的,如果单纯的只是用安卓自带的对话框模式肯定是十分单调的. 再来我看来安卓一定有一个功能让我们像Layout添加Layout一样把Layout添加到提示框里面. 所以忘了 ...

  6. Android仿IOS封装通用的弹出框Dialog和底部弹出列表选择框 仿美团顶部条件筛选框 附自定义ViewGroup

    弹出框 背景 提示与询问弹出框 实现 使用 列表选择框 实现 使用 顶部条件筛选框 实现 自定义ViewGroup 使用 总结 背景 鉴于Android提供的默认弹出框很一般,IOS的弹出框样式还不错 ...

  7. android 弹窗有边框_Android 多种简单的弹出框样式设置代码

    简介 这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明.同时也可自定义弹出框. 特性 1.使用链式开发代码简洁明了 2.所有的弹出框样 ...

  8. android 微信点赞功能,Android 仿微信点赞和评论弹出框

    wjntekaqskfhwktpgpvzhp 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 左下角的"更多"按钮: 点击该按钮后弹出的对话框: 微信朋友圈点赞和评 ...

  9. Android 多种简单的弹出框样式设置

    简介 这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式,其中提供各种简单样式的弹出框使用说明.同时也可自定义弹出框. 项目地址:https://github.com/Liu ...

  10. Android 仿微信点赞和评论弹出框

    下载源码:http://download.csdn.net/detail/zhaizu/9790030 本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的 ...

最新文章

  1. excel单元格加引号及逗号,转换为sql需要的样式
  2. windows 10 python哪个版本的好-windows10 conda python多版本切换
  3. Tableau实战系列如何在阿里云Linux服务器上安装 Tableau Server
  4. ubuntu下载百度网盘文件油猴+aria2
  5. java lambda表达式_凯哥带你从零学大数据系列之Java篇---第二十二章:Lambda表达式...
  6. java多核并行计算_谈谈Java任务的并行处理
  7. C++ | Qt 获取局域网中存在的主机(IP以及主机名)
  8. 搭建你的持续集成server - CruiseControl step by step(1)
  9. How to proof Pi
  10. Illumina联手IBM Watson Health解读癌症基因谱
  11. (转)互利主义:道德经济人的基本行为准则
  12. 排序算法(java)——— 堆排序
  13. 12306网站抢票机制攻与防
  14. stagefright
  15. C语言函数:even(n),fflush(stdin)
  16. Java获取某个日期前后几天日期
  17. JavaWeb基础系列(八)商城后台增删改查
  18. spring配置方式:
  19. manjaro kde安装 配置教程
  20. 泛微OA二次开发基础培训文档

热门文章

  1. 用C++开发的双人对战五子棋
  2. 定积分证明题例题_数列极限求法十五种(25个例题+推文送给微积分和数学分析同学)...
  3. 弯管机编程软件电脑版_编程一点通电脑版
  4. 需求分析模板_如何进行培训需求分析?
  5. 本地文件秒搜工具 Everything
  6. keil4for51与keil4forARM的安装与兼容
  7. 安卓开发环境的搭建2017-01-15更新
  8. 网络带宽测试工具iperf3(arm<->PC)
  9. 牛客刷题---年会抽奖
  10. 基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_朴素贝叶斯算法知识点总结...