2014-11-13 9 views
0

응용 프로그램을 통해 텍스트를 공유해야하지만 대화 상자에서 응용 프로그램 목록을 보여줍니다내가 잘 작동 코드의 조각을 가지고 다른 사회 applications.I를 통해 내 응용 프로그램에서 텍스트를 공유 할 필요가

그리고 같은 방식으로 동일한 기능을 원합니다. 장치에 설치된 응용 프로그램에 따라보기를 동적으로 만들어야 할 수도 있습니다.

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("text/plain"); 
intent.putExtra(Intent.EXTRA_SUBJECT, "Your Subject Here"); 
intent.putExtra(Intent.EXTRA_TEXT, "Your Message Here..."); 
return intent; 
+0

특정 응용 프로그램과 텍스트를 공유하고 싶습니까? – Piyush

+0

@PiyushGupta 아니요 장치에 설치된 모든 응용 프로그램과 공유하고 싶습니다. –

+0

그래서'Intent.ACTION_SEND'를 쉽게 사용할 수 있습니다. – Piyush

답변

1

:

enter image description here

버튼 클릭 이벤트가

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("text/plain"); 
String shareBody = "Here is the share content body"; 
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here"); 
intent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
startActivity(Intent.createChooser(intent, "Share via")); 
+0

동일한 의도로 메시지를 설정해야합니까 ??? –

+0

이 좋습니다. 당신은 당신이 원하는대로 할 수 있습니다. – TheRedFox

+0

고맙습니다. 잘하면 도움이 될 것입니다 :) –

0

토끼를 달성 할 수있는 방법 저를한다 제안하십시오 이 코드를 통해 모든 앱을 찾을 수 있습니다. f 또는 지정된 의도 :

public static ArrayList<Availables> getAvailableAppsForIntent(Intent intent, Context context) { 
    ArrayList<Availables> availables = new ArrayList<Availables>(); 

    PackageManager manager = context.getPackageManager(); 
    List<ResolveInfo> infos = manager.queryIntentActivities(intent, PackageManager.GET_RESOLVED_FILTER); 

    for(ResolveInfo info : infos) { 
     ActivityInfo activityInfo = info.activityInfo; 
     IntentFilter filter = info.filter; 
     if (filter != null && filter.hasAction(intent.getAction())) { 

      // This activity resolves my Intent with the filter I'm looking for 
      String activityPackageName = activityInfo.packageName; 
      String activityName = activityInfo.loadLabel(manager).toString(); 
      String activityFullName = activityInfo.name; 
      Drawable icon = activityInfo.loadIcon(manager); 
      Availables available = new Availables(activityName, activityFullName, activityPackageName, icon); 
      available.setForIntent(intent); 
      availables.add(available); 
     } 
    } 

    return availables; 
} 

Availables 내가이 앱에 대한 모든 정보를 저장하기 위해 만든 단지 클래스입니다하지만 당신은 그러나 당신이 원하는 관리 할 수 ​​있습니다. 다음과 같이 앱을 시작할 수 있습니다.

Intent intent = available.getForIntent(); 
    intent.setPackage(available.getAppPackage()); 
    context.startActivity(intent); 

희망이 있습니다.

+0

나는 같은 코드 조각을 사용했지만 경고 상자에 목록을 열어두고 싶지 않습니다. –

+0

그래서 무엇을 원하는가 ............. –

+0

나는 내가 만들어야하는 UI를 공유했다. –

0

코드를 작성 어떤 View의 클릭에 사용 나는이

+0

이 코드를 사용하는 방법을 설명해주십시오. –