2015-04-20 56 views
1

我試着在鍍鉻電弧焊機上運行一個共享示例apk,其代碼如下。鍍鉻電弧焊機ACTION_SEND

Intent share = new Intent(android.content.Intent.ACTION_SEND); 
    share.setType("text/plain"); 
    share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
    share.putExtra(Intent.EXTRA_SUBJECT, "Title Of The Post"); 
    share.putExtra(Intent.EXTRA_TEXT, "Content of post"); 

    startActivity(Intent.createChooser(share, "Share")); 

當我運行這個,然後窗口要求保存文件出現。保存並打開文件時,只顯示內容。

在Chome ARC中處理share/action_send有一些不同的方法嗎?

我試過搜索參考資料/指南,但似乎沒有找到它。 任何參考資料/指南或任何示例都將非常有幫助。 謝謝。

+0

文件名保持與apk名稱相同,而不是意圖發送的標題。 –

回答

1

不幸的是,用於處理這些意圖的應用程序在Chromebook中不可用。所以,你已經看到了這個問題。如果您想通過電子郵件共享,請嘗試以下方法:

if (isChromeApp()) { 

      Intent emailIntent = new Intent(Intent.ACTION_VIEW, 
        Uri.parse("mailto:")); 
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
      emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body)); 
      startActivity(emailIntent); 

     } else { 
//Android intent handler code 
} 

要知道,如果它是chromeapp,您可以使用以下功能:

private static final String CHROMIUM="chromium"; 


public static boolean isChromeApp() { 
     if (Build.MANUFACTURER != null) { 
      Log.d("manufacturer", Build.MANUFACTURER); 
     } 
     boolean isChromeApp = Build.MANUFACTURER != null 
       && Build.MANUFACTURER.equalsIgnoreCase(CHROMIUM); 
     Log.d("isChromeApp", isChromeApp ? "true" : "false"); 
     return isChromeApp; 
    } 

這將打開安裝在您的默認電子郵件客戶端在你的電腦裏。 希望這有助於。

+1

我想你還需要提到CHROMIUM是一個常量最終靜態String =「鉻」 - 但無論如何,這可能不是超級乾淨,但我只是用'return(android.os.Build.BRAND.equals( 「鉻」)&& android.os.Build.MANUFACTURER.equals(「鉻」));'它似乎工作。甚至沒有檢查null,但這就是我滾動的方式。 – fattire

+0

謝謝。我已糾正它。 – Dipendra