2017-07-17 118 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

相关问题