2011-11-11 4 views

답변

2
You can use this but it is for gmail only 

    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("plain/text"); 
    startActivity(emailIntent); 
+0

하지 하나를하지만,이 하나 –

+0

의도은 MailClient = 새로운 의도 (Intent.ACTION_VIEW)을 사용해보십시오; mailClient.setClassName ("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); startActivity (mailClient); 귀하의 답변은 –

+0

tnx입니다. 방금 HTC 메일 앱이 아닌 기본 메일 앱에 연결하려고한다는 것을 알았습니다. 받은 편지함에서 열 수있는 방법이 있습니까? 또는 그 정보를 어디에서 찾을 수 있는지 보여 줄 수 있습니까? –

6

예, Android 기본 이메일받은 편지함을 열 수 있습니다.
사용이 코드 :

Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.email"); 
startActivity(intent); 


이 코드는 작동, 당신은 먼저 안드로이드 장치의 기본 메일을 구성해야합니다. 이미 메일을 구성한 경우 제대로 작동합니다. 그렇지 않으면 NullPointerException으로 강제 종료됩니다.

+1

정말 필요한 모자입니까? – copolii

+2

당신은 누군가가 대답을 줄 때 스택 오버 플로우에서 대문자 또는 작은 것을 찾는 대신에 그것을 찾으려고 할 때, 재미있는 그런 종류를 가지고 싶다면 다른 재미있는 사이트를 시도해보십시오. 이런 종류의 사이트를 프로그래밍하지 말아야합니다. –

+2

그것은 잘못되었습니다. : 이 솔루션은 사용자가 "com.android.email"패키지가있는 응용 프로그램을 가지고 있으며 사용하는 기본 전자 메일 응용 프로그램이라고 가정합니다. 예를 들어 K9 메일을 기본 클라이언트로 사용하는 경우 주식 메일 클라이언트를 열면 유용하지 않습니다. 의도는 재미 있지 않았습니다. 인터넷 에티켓이라고하는 것이 있습니다. 모든 대문자를 타이핑하면 SHOUTING 및 무례한 것으로 간주됩니다. 그걸 제외하고는 텍스트가 불쾌하고 읽기가 어려워 보입니다. 자본과 소문자가있는 이유가 있습니다. 적절한 형식의 텍스트는 모든 대문자보다 훨씬 읽기 쉽습니다. – copolii

0

이를 사용하여 안드로이드 기본 전자 메일 클라이언트를 열 수 있습니다

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/plain"); 
emailIntent.setClassName("com.android.email", "com.android.email.activity.Welcome"); 
emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(emailIntent); 
+0

이것은 새로운 이메일을 작성합니다. 원래 질문은 기본 이메일 앱을 여는 것입니다. –

1

이 코드는 나를 위해 일했다. 그것은받은 편지함 장치에 똑바로에 등록 된 모든 이메일 응용 프로그램과 함께 선택기 열립니다 목표는받은 편지함을 볼 수있는 기본 이메일 앱을 실행하는 경우

Intent emailIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:")); 
    PackageManager pm = getPackageManager(); 

    List<ResolveInfo> resInfo = pm.queryIntentActivities(emailIntent, 0); 
    if (resInfo.size() > 0) { 
     ResolveInfo ri = resInfo.get(0); 
     // First create an intent with only the package name of the first registered email app 
     // and build a picked based on it 
     Intent intentChooser = pm.getLaunchIntentForPackage(ri.activityInfo.packageName); 
     Intent openInChooser = 
       Intent.createChooser(intentChooser, 
         getString(R.string.user_reg_email_client_chooser_title)); 

     // Then create a list of LabeledIntent for the rest of the registered email apps 
     List<LabeledIntent> intentList = new ArrayList<LabeledIntent>(); 
     for (int i = 1; i < resInfo.size(); i++) { 
      // Extract the label and repackage it in a LabeledIntent 
      ri = resInfo.get(i); 
      String packageName = ri.activityInfo.packageName; 
      Intent intent = pm.getLaunchIntentForPackage(packageName); 
      intentList.add(new LabeledIntent(intent, packageName, ri.loadLabel(pm), ri.icon)); 
     } 

     LabeledIntent[] extraIntents = intentList.toArray(new LabeledIntent[intentList.size()]); 
     // Add the rest of the email apps to the picker selection 
     openInChooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, extraIntents); 
     startActivity(openInChooser); 
    } 
+0

시작 의도를 확인할 수 없을 때 충돌이 발생합니다. 다른 체크가 필요합니다! –

9

을, 다음 키는 의도 카테고리를 추가하고 ACTION_MAIN을 사용하는 것입니다 의도과 같이 :

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_APP_EMAIL); 
getActivity().startActivity(intent); 

https://developer.android.com/reference/android/content/Intent.html#CATEGORY_APP_EMAIL

죄송
+0

이메일 앱만 실행하는 쉬운 방법입니다. 고맙습니다. – TUSHAR

+0

내가 어떻게 반응 원시에서 이것을 모방하겠습니까? – jasan

+0

@ jasan - 사용자 정의 구성 요소를 만들어 js 랜드에서이 논리를 트리거해야합니다. –