2011-05-09 71 views
1

我似乎無法弄清楚這一點:如何響應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)) 
} 

回答

1

getIntent().getData()將包含該Intent所針對的Uri

+0

我已經試過這個,但也是空的。我不明白股票AOSP畫廊如何迴應意圖,但我無法。 – Tom 2011-05-11 17:21:33