我今天接受了一个关于初级Android开发职位的采访,其中一个问题就是这样:
您有一个打开电子邮件的应用程序。电子邮件附有照片。你怎么能让用户选择打开这张照片的应用程序?即给他们一个可供选择的照片打开应用程序列表,然后用照片打开该应用程序。除了android的默认照片查看器之外,您还不知道哪些应用程序可用。
你怎么解决这个问题?
答案 0 :(得分:1)
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/foo.jpg");
intent.setDataAndType(Uri.fromFile(file), "image/*");
startActivity(intent);
简而言之,您以抽象的方式告诉Android,您想要查看照片。能够查看照片的应用会在其清单中注册其执行此操作的功能(对于给定的内容类型ACTION_VIEW
,它们会响应image/*
。)
如果您想查看HTML文件,
intent.setDataAndType(Uri.parse("http://www.google.com", "text/html");
ACTION_VIEW
只是一个例子。还有ACTION_EDIT
和其他人。