可以通过使用Open Protocol在应用程序之间交换数据。例如,如果我有一个带有pdf附件的电子邮件,我可以将其打开到PDFExpert中,即使这些应用程序在SandBox上运行且他们没有共享文件系统。
对于Android,我注意到这样的程序是不同的,例如我可以将文档保存到文件系统中,例如/ mnt / Apps_Name,然后我可以在其他应用程序中重新打开该文档。
有没有办法让用户体验iOS世界中的应用之间的数据/文档交换?你有什么例子吗?一些参考官方文档?他们需要一些Bonjour或Zero Conf实现吗?
答案 0 :(得分: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"));
结果:
答案 1 :(得分:1)
Android 4.1添加了Network Service Discovery,这应该是您想要的 - 似乎实际上是在Bonjour under the hood之上实现的。