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

时间:2018-09-06 17:31:26

标签: java android mobile sharing

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

1 个答案:

答案 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动作,但这可能对您正在做的事情有些沉重。