버튼을 메일 앱에 연결하려고합니다. 메일을 보내지 않고받은 편지함을 열면됩니다.기본 메일받은 편지함을 android 코드에서 여는 방법은 무엇입니까?
Intent intent = new Intent(...)
으로해야합니까?
그렇다면 ()
사이에 무엇이 있어야합니까?
버튼을 메일 앱에 연결하려고합니다. 메일을 보내지 않고받은 편지함을 열면됩니다.기본 메일받은 편지함을 android 코드에서 여는 방법은 무엇입니까?
Intent intent = new Intent(...)
으로해야합니까?
그렇다면 ()
사이에 무엇이 있어야합니까?
유감 스럽지만 유망하지 않습니다.
How do I launch the email client directly to inbox view?
당신이 작성 모드에서 이메일 클라이언트를 열기 전에이 질문하고있다,하지만 당신은 이미 알고 보인다.
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);
예, Android 기본 이메일받은 편지함을 열 수 있습니다.
사용이 코드 :
Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.email");
startActivity(intent);
이 코드는 작동, 당신은 먼저 안드로이드 장치의 기본 메일을 구성해야합니다. 이미 메일을 구성한 경우 제대로 작동합니다. 그렇지 않으면 NullPointerException
으로 강제 종료됩니다.
정말 필요한 모자입니까? – copolii
당신은 누군가가 대답을 줄 때 스택 오버 플로우에서 대문자 또는 작은 것을 찾는 대신에 그것을 찾으려고 할 때, 재미있는 그런 종류를 가지고 싶다면 다른 재미있는 사이트를 시도해보십시오. 이런 종류의 사이트를 프로그래밍하지 말아야합니다. –
그것은 잘못되었습니다. : 이 솔루션은 사용자가 "com.android.email"패키지가있는 응용 프로그램을 가지고 있으며 사용하는 기본 전자 메일 응용 프로그램이라고 가정합니다. 예를 들어 K9 메일을 기본 클라이언트로 사용하는 경우 주식 메일 클라이언트를 열면 유용하지 않습니다. 의도는 재미 있지 않았습니다. 인터넷 에티켓이라고하는 것이 있습니다. 모든 대문자를 타이핑하면 SHOUTING 및 무례한 것으로 간주됩니다. 그걸 제외하고는 텍스트가 불쾌하고 읽기가 어려워 보입니다. 자본과 소문자가있는 이유가 있습니다. 적절한 형식의 텍스트는 모든 대문자보다 훨씬 읽기 쉽습니다. – copolii
이를 사용하여 안드로이드 기본 전자 메일 클라이언트를 열 수 있습니다
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);
이것은 새로운 이메일을 작성합니다. 원래 질문은 기본 이메일 앱을 여는 것입니다. –
이 코드는 나를 위해 일했다. 그것은받은 편지함 장치에 똑바로에 등록 된 모든 이메일 응용 프로그램과 함께 선택기 열립니다 목표는받은 편지함을 볼 수있는 기본 이메일 앱을 실행하는 경우
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);
}
시작 의도를 확인할 수 없을 때 충돌이 발생합니다. 다른 체크가 필요합니다! –
을, 다음 키는 의도 카테고리를 추가하고 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
죄송
하지 하나를하지만,이 하나 –
의도은 MailClient = 새로운 의도 (Intent.ACTION_VIEW)을 사용해보십시오; mailClient.setClassName ("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); startActivity (mailClient); 귀하의 답변은 –
tnx입니다. 방금 HTC 메일 앱이 아닌 기본 메일 앱에 연결하려고한다는 것을 알았습니다. 받은 편지함에서 열 수있는 방법이 있습니까? 또는 그 정보를 어디에서 찾을 수 있는지 보여 줄 수 있습니까? –