3

Googleアナリティクスを使用して、アプリケーションのどの機能がどのように使用されているかを追跡していますが、この質問は、ACTION_SENDインテントを呼び出した後のユーザーの行動を知りたい場合にも当てはまります。Android ACTION_SENDインテントとGoogleアナリティクス - 選択した内容を確認するにはどうすればよいですか?

基本的には、ユーザーがコンテンツ(電子メール、Twitter、Facebookなど)を共有できるようにするためにこの機能を使用したいと思います。これは、Android Android Intentの機能をうまく使用して、 、等。

 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")); 

しかし、私はインテントからの返却時にユーザーが何をしたのかわからない。私はstartActivityForResultを使ってみましたが、これは共有を完了したかどうかを返すように見えるだけです(異なるアプリケーション間でも一貫して実装されていないようです)。

この時点で、アナリティクスを利用しているように見えますが、自分のカスタムアクションとそれぞれのSDKを使ってFacebookやTwitter経由で共有する必要がありますか?お好みの電子メール、TwitterやFacebookとブラウザアプリケーションを使用することができるという....

+0

良い質問です。私はまったく同じことを理解しようとしてきました。しかし、しばらくしてから、私はあなたが電子メール/ Facebook/SMSアプリケーションに入ったかどうかわからなくても結論づけることができました。うまくいけば、ここの誰かがそれを知っているだろ –

答えて

0

どのようにAndroidのログからの読み込みについて - それは、Androidの素敵な機能の一つを損なうので、

これは恥ですか?ログには、選択した内容の詳細が含まれているはずです。醜いですが、うまくいくかもしれません。

1

インテント選択リストを自分で作成する場合は、Intent.createChooserに許可するのではなく、自分で実行する前に選択したインテントを確認することができます。

Here is how Gallery3D does it、Androidソースコードです。パッケージマネージャーに、実行を依頼するインテントと一致するパッケージを照会し、ResolveInfoのリストを返します。このリストを使用してユーザーに選択肢を提示し、その選択肢を記録し、選択したアクティビティを開始します。

+0

上記のリンク先のWebサイトはセキュリティ上の理由から停止しています。誰かがどこか他のコードを知ることができますか? – howettl

+1

@howettl Cyanogenのコピーはこちらです:https://github.com/CyanogenMod/android_packages_apps_Gallery3D/blob/gingerbread/src/com/cooliris/media/HudLayer.java – Jess

関連する問題