3

我們正在使用Google Analytics(分析)來跟蹤我們的應用程序的哪些功能正在使用以及如何使用,但是此問題也適用於您想要在調用ACTION_SEND Intent之後知道用戶所做的任何情況。Android ACTION_SEND意圖和谷歌分析 - 我怎麼知道他們選擇了什麼?

基本上,我希望使用此功能來允許用戶共享內容(電子郵件,Twitter,Facebook等)。這個工作原理巧妙地使用股票Android Intent功能,允許用戶選擇他們喜歡的電子郵件客戶端,Twitter應用程序等等。

 Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
     //Text seems to be necessary for Facebook and Twitter 
     sharingIntent.setType("text/plain"); 
     sharingIntent.putExtra(Intent.EXTRA_TEXT, "whatever I want to share"); 
     startActivity(Intent.createChooser(sharingIntent,"Share using")); 

但是,我找不到任何方式來知道用戶從Intent返回時做了什麼。我考慮用startActivityForResult來代替,但這似乎只是返回他們是否完成或取消共享(甚至在不同的應用程序中似乎不一致地實現) - 它肯定不會告訴我他們所做的事情。

在這一點上,它看起來像爲了有我的分析,我將不得不通過Facebook和Twitter使用自己的和他們各自的SDK的自定義操作實現共享?

這似乎是一個恥辱,因爲它破壞了安卓的優越的功能之一 - 能夠使用您的首選電子郵件,Twitter,Facebook和瀏覽器應用程序....

+0

好問題。我一直在試圖弄清楚完全一樣。但經過一段時間的努力,我只能斷定你甚至不知道他們是否輸入了電子郵件/臉譜/短信應用程序。希望這裏有人知道這一點。 – 2011-02-09 20:22:38

回答

0

如何從Android日誌閱讀?我期望這些日誌包含他們選擇的細節。醜,但它可能工作。

1

如果您要自己創建意向選擇列表,而不是允許Intent.createChooser爲您完成,您可以在自己執行之前查看選定了哪個意圖。

Here is how Gallery3D does it,來自Android源代碼。它向軟件包管理器查詢與您要運行的Intent匹配的軟件包,並返回一個ResolveInfo的列表,您可以使用該列表向用戶提供他們的選擇,然後記錄他們的選擇並根據他們的選擇啓動活動。

+0

由於安全原因,上面鏈接的網站已關閉。有人知道其他地方的代碼可以找到嗎? – howettl 2011-09-22 18:11:16

相關問題