我有一个共享底表,我想以编程方式手动关闭此底表。我怎样才能做到这一点?最初是使用Intent.createChooser调用的。
答案 0 :(得分:2)
我认为您不能直接这样做。运行Intent.createChooser()
返回的Intent时,它将启动ChooserActivity。
如果您具有签名级别的系统访问权限,则可以使用Instrumentation#sendKeySync()
,如果您具有root用户,则可以使用input keyevent 4
,但是对于通用听众应用程序,这两种方法都不可能
ChooserActivity在清单中定义了一个IntentFilter来监听Intent.ACTION_CHOOSER
,但它不监听其他任何东西,包括Intent.ACTION_CLOSE_SYSTEM_DIALOGS
,通常是这样做的方法。
您可以使用AccessibilityService
,并从中发送GLOBAL_ACTION_BACK
动作,但这可能对您正在做的事情有些沉重。