Android仿淘口令復制彈出框功能(簡答版)

上篇文章給大家介紹了Android實現(xiàn)打開手機淘寶并自動識別淘寶口令彈出商品信息功能,接下來通過本文給大家分享android簡單版仿淘口令復制彈出框功能,希望對大家有所幫助!

元氏ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

使用Android系統(tǒng)的粘貼板管理服務及ClipboardManager通過addPrimaryClipChangedListener添加Listener來監(jiān)聽粘貼板的狀態(tài),很很簡單的一個小功能~

1.首先創(chuàng)建一個Service在后臺運行:

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

另外同時在OnResume()中獲得粘貼板復制的內(nèi)容,用于在APP未啟動或者Service被關(guān)閉時重新啟動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;//系統(tǒng)內(nèi)部錯誤提示,顯示于所有內(nèi)容之上 
 params.format = PixelFormat.RGBA_8888; 
 params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL 
  | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; //當窗口可以獲得焦點(沒有設置FLAG_NOT_FOCUSALBE選項)時,仍然將窗口范圍之外的點設備事件(鼠標、觸摸屏)發(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(); 

點擊彈出框,跳轉(zhuǎn)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); 
 } 
}); 

很簡單的小功能,不過應用的實際過程應該還會出現(xiàn)一些待解決的小問題

好了,下面看下淘口令原理:ClipBoard筆記

Clipboard是Android提供的一個系統(tǒng)服務,它提供了一個全局的剪貼板,讓文字、圖片、數(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仿淘口令復制彈出框功能(簡答版),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!

文章名稱:Android仿淘口令復制彈出框功能(簡答版)
瀏覽地址:http://muchs.cn/article32/gppppc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、微信小程序、域名注冊、建站公司、營銷型網(wǎng)站建設企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)