2012-02-02 18 views
2

我的HoneyComb應用程序在平板電腦和Google TV上運行。我已設置發送電子郵件在我的設置片段,但它返回錯誤「沒有應用程序可以處理此功能。」如何處理Google TV上的電子郵件

如果沒有客戶端(createChooser)可用,是否有方法通過我的應用程序向瀏覽器發送電子郵件?

我也嘗試顯示客戶服務電子郵件的摘要,但摘要不適用於HoneyComb。我正在嘗試這個,所以我可以在電視上禁用意圖。

回答

2

如果沒有客戶端(createChooser)可用,是否有方法通過我的應用程序向瀏覽器發送電子郵件?

除非你知道具體的電子郵件的Web應用程序和它的所有細節,而電子郵件的Web應用程序支持某種形式的直接電子郵件發送能力的。

要麼提示用戶安裝電子郵件應用程序,要麼自己發送電子郵件(例如JavaMail),或者不要在Google TV上使用電子郵件進行通信。我希望很少有Google TV用戶在他們的電視上使用電子郵件,因此您需要相應地進行規劃。

+0

感謝CommonsWare爲您的迴應! – taraloca 2012-02-03 18:25:10

1

Google TV包含一個默認的存根電子郵件應用程序,所以系統將顯示爲即使沒有電子郵件應用程序也會安裝電子郵件應用程序。有一個特殊的檢查需要檢測存根:

 Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setType("plain/text"); // special mime legacy for gmail; others work 
     List<ResolveInfo> match = getPackageManager().queryIntentActivities(emailIntent, 0); 
     boolean hasEmailer = match.size() > 0; 
     Log.w("thuuz", "has plain/text Emailer: " + hasEmailer); 

     if (match.size() == 1) { 
      ResolveInfo info = match.get(0); 
      boolean real = true; 
      if (info.activityInfo.packageName.startsWith("com.google.android.tv.frameworkpackagestubs")) 
       real = false; 
      Log.w("thuuz", "has *real* Emailer: " + real); 
     }