【问题标题】:Titanium: Show and Create Contact IntentTitanium:显示和创建联系意图
【发布时间】:2015-05-26 08:51:41
【问题描述】:

我试图将联系人从我的应用程序导出到本机 android 联系人。

我在这个网站上找到了以下解决方案:Titanium: How to add Contact in Phone book in Android?

而且还挺有效的。意图开始。唯一的问题是,android 无法识别我输入的大部分 Extras。所以几乎每个字段都是空白的。我用简单的String替换contactModel也没关系,结果是一样的。

所以我想知道键是否完全错误,但似乎没有关于 appcelerator 的适当文档。过去几年可能发生了一些变化,或者我只是错过了一些东西。有谁知道如何以正确的方式做到这一点。

代码片段:

if (OS_ANDROID) {
    var intent = Ti.Android.createIntent({
        action : 'com.android.contacts.action.SHOW_OR_CREATE_CONTACT',
        data : 'mailto:' + contactModel.get('contact_first_name')  + ' ' + contactModel.get('contact_last_name') 
    });

    intent.putExtra('email', contactModel.get('contact_email')); 
    intent.putExtra('email_type', 'Work');
    intent.putExtra('phone', contactModel.get('contact_mobile_number'));
    intent.putExtra('phone_type', 'mobile');
    intent.putExtra('name', contactModel.get('contact_first_name')  + ' ' + contactModel.get('contact_last_name') );
    intent.putExtra('address', addressModel.get('address_street') + ", " + addressModel.get('address_city'));
    intent.putExtra('address_type', 'Work'); 

    Ti.Android.currentActivity.startActivity(intent);
}

提前谢谢。 :)

【问题讨论】:

    标签: android android-intent titanium contacts appcelerator


    【解决方案1】:

    putExtra() 的第一个参数也接受一个常量Ti.Android...。所以你可能不得不使用Ti.Android.EXTRA_EMAIL,而不是email

    我认为您可以在文档中找到很多内容,例如这里:

    EXTRA constant properties in Ti docs

    EXTRA constants in Android docs

    Android Intents in Ti docs

    【讨论】:

    • 嗨,不幸的是,使用常量(我尝试过)没有任何效果。此外,Ti.Android (Ti.Android.EXTRA_EMAIL & Ti.Android.PHONE_NUMBER) 中只有两个关于 Contact Intents 的常量,但 Contact Activity (Android) 能够包含的信息不止这两个。我该怎么处理地址?等等……:D。但是谢谢您的意见。
    • 啊,你是对的。实际上,我什至无法在 Android 文档中找到更多特定于联系人的常量。如果它确实不适用于 Titanium SDK,您可以考虑编写和/或使用 Titanium 模块。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多