7

私はこれが少し繰り返される質問であることを知っています. SO や他のいくつかのサイトでさまざまな質問を確認しましたが、私のニーズを満たす単一の回答が見つかりませんでした。

要件

1) X、Y 座標があり、MotionEvent を作成して最上位のアクティビティ/ビューにディスパッチしたい。

2)自分のアプリに注入する必要があります。したがって、Inject_Events パーミッションは必要ありません

3)座標はありますが、その位置にあるアクティビティまたはビューはわかりません。したがって、Activity.dispatchTouchEvent は機能しません。. (view.dispatchTouchEvent は機能しますが、ビューがわかりません)。

4) x、y 位置にタッチ イベントを挿入する単一の方法がないため、インストルメンテーションも役に立ちません。

5) InputManager には隠しメソッド injectInputEvent がありますが、injectInputEvent にアクセスしてコンパイルする方法がわかりません。

どんな助けでも大歓迎です!

4

2 に答える 2

5
dispatchTouchEvent(MotionEvent.obtain(
                    SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_DOWN, Xinput, Yinput, 0));

ビューを指定する必要はありません。イベントはフォアグラウンド アクティビティに登録されます。Xinput と Yinput を実際の値に置き換えます。

于 2013-09-10T17:33:45.977 に答える