启动另一个Android应用程序来打开照片?

时间:2015-11-21 00:35:09

标签: java android

我今天接受了一个关于初级Android开发职位的采访,其中一个问题就是这样:

您有一个打开电子邮件的应用程序。电子邮件附有照片。你怎么能让用户选择打开这张照片的应用程序?即给他们一个可供选择的照片打开应用程序列表,然后用照片打开该应用程序。除了android的默认照片查看器之外,您还不知道哪些应用程序可用。

你怎么解决这个问题?

1 个答案:

答案 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和其他人。