gpt4 book ai didi

java - Android - 与 iOS 类似的开放协议(protocol) (Bonjour)

转载 作者:行者123 更新时间:2023-11-29 05:56:55 25 4
gpt4 key购买 nike

在 iOS 世界中,可以通过使用开放协议(protocol)在应用程序之间交换数据。例如,如果我有一封带有 pdf 附件的电子邮件,我可以将它打开到 PDFExpert 中,即使这些应用程序在 SandBox 上运行并且它们没有共享文件系统。

在 Android 的情况下,我注意到这样的过程是不同的,例如,我可以将文档保存到文件系统中,比如/mnt/Apps_Name,然后我可以在其他应用程序中重新打开该文档。

有没有办法让用户像在 iOS 世界中一样体验应用程序之间的数据/文档交换?你有什么例子吗?对官方文档的一些引用?他们需要一些 Bonjour 或零配置实现吗?

最佳答案

也许 Intent 方法正是您正在寻找的。通过为 Intent 设置一个 Action ,比方说,ACTION_VIEW,您在 Intent 中设置相应的数据(即 pdf 文件),系统确定哪些应用程序能够显示该信息。如果有多个应用程序支持,通常会出现一个对话框提示让用户决定应用程序。

查看 PDF 示例:

Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
startActivity(intent);

Intents 功能是我在 Android 开发中最喜欢的功能之一。例如,看看共享任何文件/文本/图像/...是多么容易,而无需实现任何 Oauth/Oauth2...

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
String toShare = "This is the text to share";
// You can add extras
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");

// Start intent with choose prompt
startActivity(Intent.createChooser(intent, "Share via"));

结果:

enter image description here

关于java - Android - 与 iOS 类似的开放协议(protocol) (Bonjour),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com