繁体   English   中英

如何以编程方式关闭 Android 中的共享系统对话框?

[英]How to dismiss share system dialog in Android programatically?

我有一个共享底部表,我想以编程方式手动关闭此底部表。 我怎样才能做到这一点? 它最初是通过使用 Intent.createChooser 调用的。

我不认为你可以直接做到这一点。 当您运行Intent.createChooser()返回的 Intent 时,它会启动ChooserActivity

如果您有签名级别的系统访问权限,则可以使用Instrumentation#sendKeySync() ,如果您有 root 用户,则可以使用input keyevent 4 ,但对于一般受众应用程序而言,这两种方法都不可能。

ChooserActivity 在清单中定义了一个 IntentFilter 来侦听Intent.ACTION_CHOOSER ,但它不侦听其他任何内容,包括Intent.ACTION_CLOSE_SYSTEM_DIALOGS ,这通常是执行此操作的方法。

您可以使用AccessibilityService ,并GLOBAL_ACTION_BACK发送GLOBAL_ACTION_BACK操作,但这对于您正在做的事情来说可能有点繁重。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM