1

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

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

有没有办法让用户体验在 iOS 世界中的应用程序之间交换数据/文档?你有什么例子吗?对官方文档的一些参考?他们是否需要一些 Bonjour 或 Zero Conf 实施?

4

2 回答 2

2

也许 Intent 方法是您正在寻找的。通过为 Intent 设置操作,例如 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"));

结果:

在此处输入图像描述

于 2012-07-31T08:28:38.273 回答
1

Android 4.1 添加了网络服务发现,这应该正是您想要的——似乎实际上是在 Bonjour底层实现的。

于 2012-10-30T20:25:01.540 回答