UiAutomator2通過包名打開關閉App,解決部分手機根據App名字打不開App問題

注:
這是一個取巧的方式,有的手機上頁面裏明明有這個app,但是通過UiSelector.text()就是打不開,但是用手劃拉一下屏幕就好使了,初步判斷是沒獲取到焦點啥的。然後就想出了這個方法,解決部分手機根據App名字打不開App問題。先通過包名打開app再關閉App,這樣屏幕就能獲取焦點了,就可以順利打開了。

正文階段:

//需要一個Instrumentation對象
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();

//Uidevice對象用來關閉App的

UiDevice device = UiDevice.getInstance(instrumentation);

//上下文

Context context = instrumentation.getContext();

//獲取你的包名

Intent intent = context.getPackageManager().getLaunchIntentForPackage("App包名");

//intent設置一個flags

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

//上下文啓動App

context.startActivity(intent);

 

啓動app完事,下面是關閉App:

//用剛纔的Device對象關閉即可,會拋出異常,包裹一下就行了

try {
    device.executeShellCommand("am force-stop com.ophone.reader.ui");
} catch (IOException e) {
    e.printStackTrace();
}

 

發佈了58 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章