2014-01-23 3 views
0

ShareActionProvider는 기기의 모든 호환되는 앱에 대한 공유를 제공합니다. 예를 들어 트위터 및 Gmail과 같이 공유를 허용 할 앱을 지정하고 싶습니다.shareactionprovider에 특정 앱만 추가

어떻게하면됩니까?

답변

1

Google은 다양한 Twitter 클라이언트가 있으므로 특정 앱에 공유하지 않는 것이 좋습니다. 사람들이 공유하고 싶은 위치를 선택하게하는 것이 좋습니다.

그러나 다음 코드는 "hello twitter"라는 메시지를 버튼 누름에 대한 트위터로 보냅니다.

String message = "hello Twitter"; 

try { 
    //try to open the official twitter app 
    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    sharingIntent.putExtra(
      android.content.Intent.EXTRA_SUBJECT, "Subject"); 
    sharingIntent.putExtra(Intent.EXTRA_TEXT, message); 
    sharingIntent.setPackage("com.twitter.android"); 
    startActivity(sharingIntent); 

} catch (Exception e) { 
    //fallback on opening an internet browser 
    Log.e("Danielle", "exception=" + e.toString()); 
    Intent i = new Intent(); 
    i.putExtra(Intent.EXTRA_TEXT, message); 
    i.setAction(Intent.ACTION_VIEW); 
    i.setData(Uri 
      .parse("https://mobile.twitter.com/compose/tweet")); 
    startActivity(i); 
} 

희망이 있습니다.

+0

이것은 작동합니다. 하지만 shareactionprovider에 여러 항목이 있어야합니다. 여러 공유 의도를 추가하려고했지만 작동하지 않습니다. 가능한가? – TrtG

+0

오, 그래서 당신은 단지 페이스 북과 트위터와 같은 여러 항목을 포함하는 팝업 싶어? 공유하려는 각 앱에 대한 버튼이있는 자신 만의 팝업을 만들지 않고도 가능한지 확실하지 않습니다. 공유하고 싶은 각 앱의 패키지 이름을 알아야합니다. 그 말이 맞는다면? – Danielle

+0

예, 감사합니다. – TrtG