2010-12-02 31 views
0

我知道我可以在電子郵件應用中使用android構建,當我使用ACTION_SEND的意圖時,對我來說沒有任何問題。問題來了後,我定義我在AndroidManifest.xml中的ACTION_SEND喜歡如下:Android默認的電子郵件應用不能在我的情況下調用,如何解決?

<activity android:name=".activity.myActivity"> 
    <intent-filter> 
       <action android:name="android.intent.action.SEND" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <data android:mimeType="image/png" /> 
     </intent-filter> 
</activity> 

因爲我想看到在共享選項列表中添加自己的應用程序時,在畫廊用戶點擊「共享」,我必須在我的AndroidManifest.xml中定義上面的<intent-filter>

在AndroidManifest.xml中定義了上述配置之後,每當我調用「Intent emailIntent = new Intent(Intent.ACTION_SEND);」時,我的android應用程序就會調用「myActivity」而不是在電子郵件應用中調用android build。

以上所有內容都是可以理解的,我的問題是如何在AndroidManifest.xml中保持我的配置(這是我的應用程序顯示在共享選項列表中,當用戶單擊庫中的「share」時),MEANWHILE,我可以調用Android默認電子郵件應用程序?

回答

1

後我定義在AndroidManifest.xml中,每當我把上面的配置「意圖emailIntent =新意圖(Intent.ACTION_SEND);」我的Android應用程序都會去調用「myActivity」而不是調用Android的建立電子郵件應用

只有當用戶將您的應用程序設置爲此特定操作和MIME類型組合的默認值時,纔會發生這種情況。

MEANWHILE,我可以調用android默認的電子郵件應用程序?

您未調用「默認電子郵件應用程序」。通過ACTION_SEND開始一項活動,表示您希望用戶和操作系統選擇處理該請求的活動。如果用戶爲此設置了一項默認活動,則該活動將啓動,因爲這是用戶要求的。

您可以使用createChooser()(在Intent上的靜態方法)來強制從所有可用的候選項中進行選擇,並且這有時與ACTION_SEND一起使用。

相關問題