3

우리는 Google 애널리틱스를 사용하여 애플리케이션의 기능 및 사용 방법을 추적하지만이 질문은 ACTION_SEND 인 텐트를 호출 한 후 사용자가 수행 한 작업을 알고 자하는 상황에 적용될 수 있습니다.Android ACTION_SEND 의도 및 Google 웹 로그 분석 - 내가 선택한 것을 어떻게 알 수 있습니까?

기본적으로 사용자가 콘텐츠 (이메일, 트위터, 페이스 북 등)를 공유 할 수 있도록이 기능을 사용하고 싶습니다. 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를 통해 공유를 구현해야만합니까? 원하는 이메일, 트위터, 페이스 북과 브라우저 응용 프로그램을 사용 할 수있는 ....

+0

좋은 질문입니다. 나는 정확히 같은 것을 알아 내려고 노력했다. 그러나 얼마 동안 노력한 후에 나는 이메일/페이스 북/SMS 응용 프로그램에 들어 왔는지 알 수 없다고 결론지었습니다. 희망을 갖고 여기 누군가가 그것을 알고 있기를 바랍니다. –

답변

0

어떻게 안드로이드 로그에서 읽기에 대한 - 안드로이드의 좋은 기능 중 하나를 저해하기 때문에

는이 수치를 보인다? 로그에는 선택한 내용에 대한 세부 정보가 포함될 것으로 예상됩니다. 추악하지만 작동 할 수도 있습니다.

1

의도 선택 목록을 직접 작성하는 경우 Intent.createChooser이 대신 수행하도록 허용하는 대신 자신을 실행하기 전에 어떤 의도가 선택되었는지 확인할 수 있습니다.

Here is how Gallery3D does it, 안드로이드 소스 코드입니다. 패키지 관리자에게 실행을 요청한 인 텐트와 일치하는 패키지를 쿼리하고 사용자에게 선택 사항을 표시하고 선택 사항을 기록한 다음 선택 사항과 함께 활동을 시작하는 데 사용할 수있는 ResolveInfo 목록을 반환합니다.

+0

위에 링크 된 웹 사이트는 보안상의 이유로 다운되었습니다. 누군가 코드를 찾을 수있는 다른 곳을 알고 있습니까? – howettl

+1

@howettl Cyanogen의 복사본은 다음과 같습니다. https://github.com/CyanogenMod/android_packages_apps_Gallery3D/blob/gingerbread/src/com/cooliris/media/HudLayer.java – Jess

관련 문제