綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] Xamarin.Form 開發按鍵精靈疑問

[複製連結] 查看: 24759|回覆: 8|好評: 0
跳轉到指定樓層
樓主
loxacom123 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2018-12-13 22:34

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
目前玩到一些手遊 會想用到腳本的地方

而目前的解決方案是利用 C# ADB 控制手機模擬觸摸

但這方法只能觸摸 無法判定畫面 而且必須連接電腦

現在會寫的Android的軟體只會 Xamarin.Form 用C#寫

就遇到了些問題

不知道如何用出懸浮置頂視窗 跟 如何模擬按鍵&畫面的即時擷取與判斷

請問有哪位大大知道如何寫 或是哪邊有文章可以參考

「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
muska1116 | 收聽TA | 只看該作者
發表於 2018-12-13 23:29
我之前有在站上回答過類似的問題,
使用 WindowManager 把你自己的 Button 或是 View 加到系統層級的 window,
然後圖像辨識部份可以使用 OpenCV 之類的第三方 library。

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
loxacom123 + 1 + 1 非常讃

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 1 反對 0

使用道具 舉報

板凳
 樓主| loxacom123 | 收聽TA | 只看該作者
發表於 2018-12-16 00:50
本帖最後由 loxacom123 於 2018-12-16 00:54 編輯
muska1116 發表於 2018-12-13 23:29
我之前有在站上回答過類似的問題,
使用 WindowManager 把你自己的 Button 或是 View 加到系統層級的 windo ...

謝謝教導

我成功用 WindowManager  做出置頂的懸浮按鈕了

但目前模擬觸摸部分還是有問題

現在是用 Instrumentation 的 SendPointerSync 去模擬觸摸

但只能在主頁面有功能

一旦離開主頁面就會報錯

請問還有哪些可以達到模擬觸摸的方法呢(需要ROOT的方法也可以)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
muska1116 | 收聽TA | 只看該作者
發表於 2018-12-16 01:27
如果可以 root 的話,用下面的程式碼來取得 root 權限,然後直接調用 adb 的指令來模擬 touch 事件即可。
Process p = Runtime.getRuntime().exec("su");
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| loxacom123 | 收聽TA | 只看該作者
發表於 2018-12-16 17:16
muska1116 發表於 2018-12-16 01:27
如果可以 root 的話,用下面的程式碼來取得 root 權限,然後直接調用 adb 的指令來模擬 touch 事件即可。
P ...

試過了

但是只能在我的App在頁面上才能動作

當我切換到其他的App 就無法動作  切回去後才會有

我是寫在一個Service 裡面 在用一個Task

Intent intent = new Intent(this, typeof(Service1));
StartService(intent);

///-------------------------------

void task1()
        {
            while (true)
            {
                Thread.Sleep(500);
                Java.Lang.Process root = Java.Lang.Runtime.GetRuntime().Exec("input tap 500 500");
            }
        }
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
muska1116 | 收聽TA | 只看該作者
發表於 2018-12-16 23:18
你的程式碼只有直接執行 adb 指令,並沒有 root 權限,
要先取得具有 root 權限的 process,再執行 adb 指令
Process proc = Runtime.getRuntime().exec("su");
DataOutputStream opt = new DataOutputStream(proc.getOutputStream());
opt.writeBytes("input tap 500 500");
opt.flush();

評分

參與人數 1碎鑽 +1 幫助 +1 收起 理由
loxacom123 + 1 + 1 非常讃

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 1 反對 0

使用道具 舉報

7
 樓主| loxacom123 | 收聽TA | 只看該作者
發表於 2018-12-17 22:33
muska1116 發表於 2018-12-16 23:18
你的程式碼只有直接執行 adb 指令,並沒有 root 權限,
要先取得具有 root 權限的 process,再執行 adb 指 ...

謝謝

我成功可以在後台按鍵了

一定要有su權限才能後台嗎  一般沒root的手機就沒辦法嗎

再來想請教一下 sikuli  可以用在 xamarin 上面嗎  還是要用其他圖像辨識

目前想做到可以即時判斷圖像去做點擊
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
muska1116 | 收聽TA | 只看該作者
發表於 2018-12-17 23:10
因為使用的是需要 root 權限的指令,所以只能在有 root 的手機上執行。
sikuli 因為我沒用過,這部份我可能沒辦法回答你,
圖像辨識因為我只有使用過 OpenCV,所以我也只能推薦你這個XD,
我在 GitHub 上有看過 xamarin 使用的 sdk,你可以去找看看,
如果有涉獵這方面的大神也可以分享一下QQ
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則