2017-07-17 122 views

回答

4

據我所知,沒有隱含的Intent來打開這個Activity

要明確如何明確執行此操作,請在打開設備上的此菜單以查看發生了什麼時查看Logcat輸出。該流程應該在某個時候由ActivityManager處理,因此您可以進行篩選。

你應該找這樣的事情在日誌中:

I/ActivityManager:START U0 {CMP = com.miui.powerkeeper/.ui.PowerHideModeActivity}從UID 1000顯示0

獲取此信息後,您只需要創建一個適當的Intent所以你可以自己啓動相同Activity

try { 
    Intent intent = new Intent(); 
    intent.setClassName("com.miui.powerkeeper", 
     "com.miui.powerkeeper.ui.PowerHideModeActivity"); 

    startActivity(intent); 
} catch (ActivityNotFoundException anfe) { 
    // this is not an MIUI device, or the component got moved/renamed 
} 

請注意,不應以這種明確的方式打開OS組件。每當他們改變這個組件的類名或包時,你的代碼就會中斷。

+0

如果我想打開oppo設備的活動,該怎麼辦? –

+0

@ShaifaliPundir基本上和這裏一樣。打開Oppo設備上的Activity,檢查Logcat輸出。從日誌中你應該能夠找出系統打開的組件。然後爲同一個組件創建一個明確的'Intent'(如上所示)。 – earthw0rmjim

相關問題