當前位置:首頁 » 安卓系統 » android點擊屏幕事件

android點擊屏幕事件

發布時間: 2022-09-09 08:16:10

⑴ Android如何建立一個後台監聽的Service來得到屏幕的點擊事件

服務中 好像不能實現, 應用層 只能對當前的 UI 組件 或者 Activity 監聽 觸摸屏事件
getevent獲取系統的事件信息。

⑵ 關於android 觸屏事件與點擊事件沖突

你要先描述你要實現什麼樣的功能,再貼代碼,別人看起來更清晰些。
你的主要問題就是兩個事件都響應了相同的功能,造成沖突,對吧?那麼你可以設置一個成員變數(或者靜態變數)比較mHasHandled,先響應的事件把它設置為true,後響應的事件監測到它已經是true了就不再處理了。

⑶ android中,如何模擬觸摸屏down的一個事件,例如屏幕有個按鈕,我要是用代碼實現按鈕被點擊了。

不知道你是要知道「怎麼模擬按鈕的點擊事件」還是要知道「這個東西是怎麼調上來的」?
1、模擬點擊事件,可以用調用Button的onClick的方法。
2、這個點擊事件是觸到屏幕後,觸摸屏驅動首先得到這個消息,然後根據WindowManager裡面記錄的信息分發給ViewRoot,然後就一直發,就像生活委員發信件一樣,最終發給那個被點擊的View,沒人處理就報廢。

⑷ 如何發送一個觸屏事件給ANDROID系統

可能通過命令行 input 命令向android發送事件。
Android中,模擬事件全部是通過input命令來實現的。
input命令的使用:
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>

1. keyevent指的是android對應的keycode,比如home鍵的keycode=3,back鍵的keycode=4.
具體請查閱 <android keycode詳>
然後使用的話比較簡單,比如想模擬home按鍵:
adb shell input keyevent 3根據具體keycode編輯即可。

2. 關於tap的話,他模擬的是touch屏幕的事件,只需給出x、y坐標即可。
此x、y坐標對應的是真實的屏幕解析度,所以要根據具體手機具體看,比如想點擊屏幕(x, y) = (250, 250)位置:
adb shell input tap 250 250

3. 關於swipe同tap是一樣的,只是他是模擬滑動的事件,給出起點和終點的坐標即可。例如從屏幕(250, 250), 到屏幕(300, 300)即 adb shell input swipe 250 250 300 300 。

⑸ android的事件處理機制有兩種

1.基於監聽的事件處理機制,有一個關鍵就是事件注冊。 但是我們在實踐的時候並沒有自己手動的為某個視圖控制項注冊監聽器。
解答: 我們會經常用到 諸如 setOnclickListener(),OnTouchListener()方法等。 從字面意義理解,它為設置...監聽器。 但是,它 跟注冊還是頗有一些區別的。 我想注冊實踐監聽器,就是將它掛在在一個線程上,也就是說有一個事件監聽線程,那麼,有事件的視圖,就至少是雙線程的程序了。 不過很可惜,在去看set..Listener的源碼的時候,是看不到它在java源碼方面的具體實現的。 也就是說,要麼它依賴操作系統實現,要麼它依賴jni實現,並且,事件線程由jni管理。 換言之,實現注冊監聽是由ni實現的。
2.事件源的觸發流程:
解答: 學習過操作系統朋友應該知道,操作系統的很多操作都是通過中斷來完成。 同理,比如一個點擊事件,android手機硬體中,包括了一個觸摸屏的硬體,它分為內屏和外屏。 其中負責觸發屏幕點擊和觸摸中斷的為內屏。 內屏大概由五個層次構成,具體有什麼用不知道,反正我拆過~~~ 從內屏上,當有電容屏感應的時候,會接收到你觸摸的位置信息,甚至觸摸力度!!! 這個消息經由系統中斷(具有最高優先順序,應該是由最高優先順序的進程通知)發送給cpu,經由cpu通過進程間的消息機制傳遞給這個進程(當前正在用戶界面運行的進程,這時候只有一個),也就是這個程序運行的內存空間的某個點。(或者說通過廣播機制,將這個事件發送給所有的app也是有可能的)。

⑹ android如何設置屏幕的某塊區域有觸摸事件

方法如下:
public boolean onTouchEvent(MotionEvent event) {

//獲得觸摸的坐標
float x = event.getX();
float y = event.getY(); switch (event.getAction())
{
//觸摸屏幕時刻
case MotionEvent.ACTION_DOWN:

break;
//觸摸並移動時刻
case MotionEvent.ACTION_MOVE:

break;
//終止觸摸時刻
case MotionEvent.ACTION_UP:
break;
}
return true;
}

關於public boolean onTouchEvent (MotionEvent event)方法:
參數event:參數event為手機屏幕觸摸事件封裝類的對象,其中封裝了該事件的所有信息,例如觸摸的位置、觸摸的類型以及觸摸的時間等。該對象會在用戶觸摸手機屏幕時被創建。
返回值:該方法的返回值機理與鍵盤響應事件的相同,同樣是當已經完整地處理了該事件且不希望其他回調方法再次處理時返回true,否則返回false。
該方法並不像之前介紹過的方法只處理一種事件,一般情況下以下三種情況的事件全部由onTouchEvent方法處理,只是三種情況中的動作值不同。
屏幕被按下:當屏幕被按下時,會自動調用該方法來處理事件,此時MotionEvent.getAction()的值為MotionEvent.ACTION_DOWN,如果在應用程序中需要處理屏幕被按下的事件,只需重新該回調方法,然後在方法中進行動作的判斷即可。
屏幕被抬起:當觸控筆離開屏幕時觸發的事件,該事件同樣需要onTouchEvent方法來捕捉,然後在方法中進行動作判斷。當MotionEvent.getAction()的值為MotionEvent.ACTION_UP時,表示是屏幕被抬起的事件。
在屏幕中拖動:該方法還負責處理觸控筆在屏幕上滑動的事件,同樣是調用MotionEvent.getAction()方法來判斷動作值是否為MotionEvent.ACTION_MOVE再進行處理。

⑺ 如何實現給android系統發送一些鍵盤事件和屏幕事件

可能通過命令行 input 命令向android發送事件。
Android中,模擬事件全部是通過input命令來實現的。
input命令的使用:
usage: input ...
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>

1. keyevent指的是android對應的keycode,比如home鍵的keycode=3,back鍵的keycode=4.
具體請查閱 <android keycode詳>
然後使用的話比較簡單,比如想模擬home按鍵:
adb shell input keyevent 3根據具體keycode編輯即可。

2. 關於tap的話,他模擬的是touch屏幕的事件,只需給出x、y坐標即可。
此x、y坐標對應的是真實的屏幕解析度,所以要根據具體手機具體看,比如想點擊屏幕(x, y) = (250, 250)位置:
adb shell input tap 250 250

3. 關於swipe同tap是一樣的,只是他是模擬滑動的事件,給出起點和終點的坐標即可。例如從屏幕(250, 250), 到屏幕(300, 300)即 adb shell input swipe 250 250 300 300 。

⑻ android中觸屏事件和鍵盤事件

onTouchEvent觸屏事件 和 onKeyUp鍵盤事件分別實現不同的功能:

onTouchEvent可以得到觸屏的起始點(手剛接觸屏幕)和結束點(手離開屏幕)的 坐標(x,y),這樣可以根據坐標來判斷手勢的走向,進而做出事件響應。

onKeyUp是消息驅動事件,可以直接做出響應。

⑼ android 什麼方法可以產生觸摸事件,我現在是必須手指點擊一下屏幕界面,才會出現我想要的效果

沒理解你的意思,是要模擬點擊事件給你的程序發送坐標嗎?

例如觸摸點(240,400):
Instrumentation inst=new Instrumentation();
inst.sendPointerSync(
MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 240, 400, 0));
inst.sendPointerSync(MotionEvent.obtain(
SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 240, 400, 0));

⑽ Android 模擬點擊事件

初始化一個標志變數為完成狀態比如=0,在按鈕click事件里,把手指移動到按鈕上(非同步或線程實現,置一個標志變數為完成狀態比如=1),然後再執行(可循環延時判斷標志變數為1時跳出循環)點擊後的操作

熱點內容
臟小豆伺服器怎麼加入 發布:2024-05-08 04:40:40 瀏覽:550
萬立存儲介質 發布:2024-05-08 04:33:02 瀏覽:636
ftppro特效復制方法 發布:2024-05-08 04:06:05 瀏覽:927
平板電腦編譯軟體 發布:2024-05-08 04:05:46 瀏覽:478
榮耀v6平板擴展存儲 發布:2024-05-08 03:41:12 瀏覽:423
安卓手機為什麼半年一更新 發布:2024-05-08 03:36:52 瀏覽:661
存儲設備報價 發布:2024-05-08 02:22:01 瀏覽:554
定步長的演算法 發布:2024-05-08 02:16:18 瀏覽:110
怎麼使用pe口袋伺服器 發布:2024-05-08 02:02:18 瀏覽:471
xml資料庫c 發布:2024-05-08 02:01:46 瀏覽:456