我有一个份额底片,我想手动编程方式关闭该bottomsheet。我怎样才能做到这一点?它最初使用Intent.createChooser调用。
我不认为你可以直接做到这一点。当您运行由Intent.createChooser()
返回的意图,它会启动ChooserActivity。
如果你有签名级别的系统访问权限,你可以使用Instrumentation#sendKeySync()
,如果你有根,你可以使用input keyevent 4
,但这些都不是要为普通受众群体的应用成为可能。
ChooserActivity在清单监听Intent.ACTION_CHOOSER
定义的IntentFilter的,但它不听别的,包括Intent.ACTION_CLOSE_SYSTEM_DIALOGS
,这通常是这样做的方法。
您可以使用AccessibilityService
,并从它发送GLOBAL_ACTION_BACK
行动,但是这可能是你正在做的事情有点重。