gpt4 book ai didi

android - 来自首选项 xml 的 Mailto 可能吗?

转载 作者:IT老高 更新时间:2023-10-28 23:40:26 25 4
gpt4 key购买 nike

我正在尝试为我的应用程序构建首选项,我希望创建一个“联系开发人员”区域,单击该区域时,它会打开一封指向我的电子邮件。这可以单独从 xml 文件中完成,还是我需要在主类中做一些事情?

我在这里搜索了一下,但没有看到任何关于从 XML 中执行此操作的信息,所以这可能是不可能的?以为我会把这个问题扔出去。

谢谢!

编辑:这就是我如何让它为将来寻找一些代码的任何人工作:

import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;

public class Prefs extends PreferenceActivity {

@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.prefs);
Preference mailTo = (Preference) findPreference("mailTo");


mailTo.setOnPreferenceClickListener(new OnPreferenceClickListener()
{
public boolean onPreferenceClick(Preference preference)
{
// Preferences

Intent mailto = new Intent(Intent.ACTION_SEND);
mailto.setType("message/rfc822") ; // use from live device
mailto.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@gmail.com"});
mailto.putExtra(Intent.EXTRA_SUBJECT,"Subject Here");
mailto.putExtra(Intent.EXTRA_TEXT,"Body Here");
startActivity(Intent.createChooser(mailto, "Select email application."));
return true;
}
});

}

}

最佳答案

您可以直接从偏好设置:

<Preference
android:key="contactDevKey"
android:title="Contact developer"
android:summary="Tell me all about your problems">
<intent android:action="android.intent.action.VIEW"
android:data="@string/contact_developer_uri"/>
</Preference>

在哪里 @string/contact_developer_uri是:

<string name="contact_developer_uri">mailto:my@email.address</string>

限制是没有预定义的主题/主体,可以使用 Java 方法以及附加功能。 添加 extra转至 <intent>由于 this commit,从 4.0 Ice Cream Sandwich 开始支持 s (见提交标签)。这是允许附加 fragment 的副作用。所以你可以提供一个模板为Andrew建议在评论中:

<intent android:action="android.intent.action.VIEW"
android:data="@string/contact_developer_uri">
<extra android:name="android.intent.extra.TEXT"
android:value="What can I help you with?" />
<extra android:name="android.intent.extra.SUBJECT"
android:value="Feedback about World Changing App" />
</intent>

鼓励使用资源引用,但对于 data 两者都不是必需的和 value秒。

很遗憾你不能使用 Intent.ACTION_SEND这样,因为 EXTRA_EMAIL需要是 String[]不支持 <extra android:value= .

关于android - 来自首选项 xml 的 Mailto 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6319364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com