Android 跳转基础应用(联系人,日历)

本文介绍了在Android系统中如何进行联系人和日历的基础应用跳转,包括根据contact_id跳转到联系人编辑页面、添加为常用联系人、创建新联系人以及添加日历事件等操作,所有方法都基于Android的contract类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android系统中,基础应用开放的接口大都在一些contract类中可以查到,比如联系人和日历的:

import android.provider.CalendarContract;
import android.provider.ContactsContract;



下面简单列举几个最近用过的,原理都一样,其他的场景可以举一反三:

根据contact_id跳转到联系人编辑页面

                            Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contact_id));
                            Intent intent = new Intent(Intent.ACTION_EDIT);
                            intent.setData(uri);
                            startActivityForResult(intent, type);
注意:
联系人表中有两个id:contact_id 和 raw_contact_id。
contact_id和raw_contact_id是一对多映射,不能混用, 各自必须与各自对应的URI匹配使用,不然会错乱。

根据contact_id添加为常用联系人

                            Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(item.id));
                            ContentValues values = new ContentValues();
                            values.put(ContactsContract.Contacts.STARRED, 1);
                            int i = context.getContentResolver().update(uri, values, null, null);

使用已有信息创建新联系人

                            Intent intent = new Intent(Intent.ACTION_INSERT);
                            intent.setData(ContactsContract.Contacts.CONTENT_URI);
                            intent.putExtra(ContactsContract.Intents.Insert.PHONE, "18688888888");
                            context.startActivityForResult(intent, type);
ContactsContract.Intents.Insert 类中除了PHONE以外还有其他一些常用类型可以添加

跳转到日历页面中添加新的事件

                            Intent intent = new Intent(Intent.ACTION_INSERT);
                            intent.setData(CalendarContract.Events.CONTENT_URI);
                            intent.putExtra(CalendarContract.Events.TITLE, "开会");
                            context.startActivityForResult(intent, type);
同理,CalendarContract类中也有很多内部类可以使用,在这里就不一一列举了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值