Android如何响应ACTION_VIEW/ACTION_SEND?

问题描述:

我似乎无法弄清楚这一点:如何响应ACTION_VIEW和ACTION_SEND意图?我把它们放在我的Manifest文件中(它们出现在应用程序的下拉列表中)。我需要做的就是响应这些意图并检索相应图像的位图。Android如何响应ACTION_VIEW/ACTION_SEND?

现在这里是什么在起作用:

Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM); 
Bitmap mBitmap = BitmapFactory.decodeStream(cr.openInputStream(uri)); 

然后我采取的URI和取位图。但是,如果我在电子邮件应用程序下载和图像getExtras()的响应时间为null并且出现错误。

基本上我需要知道要放什么东西在这里填写一个变量,mBitmap

if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_VIEW.equals(action)) 
{ 
    Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM); 
    Bitmap mBitmap = (getExtras() == null) ? what goes here : 
     BitmapFactory.decodeStream(cr.openInputStream(uri)) 
} 

getIntent().getData()将包含该Intent所针对的Uri

+0

我已经试过这个,但也是空的。我不明白股票AOSP画廊如何回应意图,但我无法。 – Tom 2011-05-11 17:21:33