Android仿淘口令復(fù)制彈出框功能(簡(jiǎn)答版)
上篇文章給大家介紹了Android實(shí)現(xiàn)打開手機(jī)淘寶并自動(dòng)識(shí)別淘寶口令彈出商品信息功能,接下來通過本文給大家分享android簡(jiǎn)單版仿淘口令復(fù)制彈出框功能,希望對(duì)大家有所幫助!
使用Android系統(tǒng)的粘貼板管理服務(wù)及ClipboardManager通過addPrimaryClipChangedListener添加Listener來監(jiān)聽粘貼板的狀態(tài),很很簡(jiǎn)單的一個(gè)小功能~
1.首先創(chuàng)建一個(gè)Service在后臺(tái)運(yùn)行:
Intent intent = new Intent(this,MainService.class); startService(intent);
另外同時(shí)在OnResume()中獲得粘貼板復(fù)制的內(nèi)容,用于在APP未啟動(dòng)或者Service被關(guān)閉時(shí)重新啟動(dòng)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管理粘貼板服務(wù):
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;//系統(tǒng)內(nèi)部錯(cuò)誤提示,顯示于所有內(nèi)容之上 params.format = PixelFormat.RGBA_8888; params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; //當(dāng)窗口可以獲得焦點(diǎn)(沒有設(shè)置FLAG_NOT_FOCUSALBE選項(xiàng))時(shí),仍然將窗口范圍之外的點(diǎn)設(shè)備事件(鼠標(biāo)、觸摸屏)發(fā)送給后面的窗口處理 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();
點(diǎn)擊彈出框,跳轉(zhuǎn)activity
floatView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainService.this, "點(diǎn)擊淘口令", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(MainService.this, xxActivity.class);
startActivity(intent);
}
});
很簡(jiǎn)單的小功能,不過應(yīng)用的實(shí)際過程應(yīng)該還會(huì)出現(xiàn)一些待解決的小問題
好了,下面看下淘口令原理:ClipBoard筆記
Clipboard是Android提供的一個(gè)系統(tǒng)服務(wù),它提供了一個(gè)全局的剪貼板,讓文字、圖片、數(shù)據(jù),在多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();
搞定!
總結(jié)
以上所述是小編給大家介紹的Android仿淘口令復(fù)制彈出框功能(簡(jiǎn)答版),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android 實(shí)現(xiàn)銀聯(lián)刷卡機(jī)消費(fèi)后手動(dòng)簽名的功能(示例代碼)
在一些商場(chǎng)購物時(shí),不需要用筆在銀聯(lián)機(jī)上簽名了,直接用手指觸摸實(shí)現(xiàn)消費(fèi)簽名,非常方便,下面小編給大家分享Android 實(shí)現(xiàn)銀聯(lián)刷卡機(jī)消費(fèi)后手動(dòng)簽名的功能,需要的朋友參考下吧2017-12-12
Android BaseAdapter應(yīng)用實(shí)例
這篇文章主要介紹了Android BaseAdapter應(yīng)用方法,結(jié)合生成聯(lián)系人Items的實(shí)例形式分析了BaseAdapter的使用技巧,需要的朋友可以參考下2016-01-01
Android編程自定義title bar(標(biāo)題欄)示例
這篇文章主要介紹了Android編程自定義title bar(標(biāo)題欄)的方法,結(jié)合實(shí)例形式分析了Android針對(duì)標(biāo)題欄的設(shè)置與頁面布局操作相關(guān)技巧,需要的朋友可以參考下2016-10-10
Android Intent發(fā)送廣播消息實(shí)例詳解
這篇文章主要介紹了Android Intent發(fā)送廣播消息實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android自動(dòng)文本框輸入識(shí)別提示功能代碼
這篇文章主要介紹了Android開發(fā)之自動(dòng)文本框輸入識(shí)別提示功能代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
Android用戶注冊(cè)界面簡(jiǎn)單設(shè)計(jì)
這篇文章主要為大家分享了Android用戶注冊(cè)界面簡(jiǎn)單設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10

