我正在尝试打开Gmail撰写屏幕时,我的Android应用程序中的一个按钮被单击。我需要一些来自谷歌的API密钥吗?或者我需要在我的按钮onClickListener中做什么?
任何类型的洞察力都是非常受欢迎的。
发布于 2010-10-15 00:26:05
我不知道你能不能专门启动gmail。你有没有在你的onClickListener中尝试过
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
startActivity(emailIntent);
你可以在这里找到更多细节:Email android intent
发布于 2010-10-15 02:28:16
正如JeffC指出的那样,很容易告诉安卓你想发送电子邮件之类的东西,然后让安卓给用户一个选择列表,其中可能会包括GMail。如果你特别想要GMail,你必须更聪明一点。(请注意,正确的MIME类型实际上是“文本/普通”,而不是“普通/文本”。对于一个奇怪的实现,GMail似乎是唯一响应后者的活动,但这不是我会指望的行为。)
下面的应用程序演示了你可以遵循的原则:实际检查所有说它们可以处理你的发送意图的活动,看看它们是否看起来像GMail。
package com.stackoverflow.beekeeper;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import java.util.List;
public class StackOverflowTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(intent, 0);
ResolveInfo best = null;
for (final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm") ||
info.activityInfo.name.toLowerCase().contains("gmail")) best = info;
if (best != null)
intent.setClassName(best.activityInfo.packageName, best.activityInfo.name);
startActivity(intent);
}
}
发布于 2012-09-28 17:07:12
try{
Intent intent = new Intent (Intent.ACTION_VIEW , Uri.parse("mailto:" + "your_email"));
intent.putExtra(Intent.EXTRA_SUBJECT, "your_subject");
intent.putExtra(Intent.EXTRA_TEXT, "your_text");
startActivity(intent);
}catch(ActivityNotFoundException e){
//TODO smth
}
https://stackoverflow.com/questions/3935009
复制相似问题