您需要查询

CalendarProvider(自API级别14以来可用)的日历表以获取可用日历.以下代码段将向您展示如何:

final String[] EVENT_PROJECTION = new String[]{

CalendarContract.Calendars._ID,

CalendarContract.Calendars.CALENDAR_DISPLAY_NAME,

CalendarContract.Calendars.CALENDAR_COLOR

};

final ContentResolver cr = getContentResolver();

final Uri uri = CalendarContract.Calendars.CONTENT_URI;

Cursor cur = cr.query(uri, EVENT_PROJECTION, null, null, null);

final List result = Lists.newArrayList();

while (cur.moveToNext()) {

/* do something with the cursor:

Long id = cur.getLong(0);

String name = cur.getString(1);

int color = cur.getInt(2);

*/

}

由于您正在进行IO工作(提供程序基本上是SQLite数据库),因此将所有内容包装到单独的(非UI)线程中是一个可靠的想法;我会去RxJava.

如果您不喜欢使用游标,查询和样板代码,请使用CalendarWrapper库.它负责映射对象和数据库行,CRUD操作可以使用对象方法执行.例如,在你的情况下,一行就能发挥作用:

final List calendars = Calendar.getCalendarsForQuery(null, null, null, getContentResolver());

掌握了可用的日历后,只需将它们放入列表并在对话框中显示,这是最简单的方法.

android 显示日历,如何在android的设置屏幕中显示已安装的日历列表相关推荐

  1. android在java下建立模块,Android Studio:如何在Android模块中包含Java模块?

    在Android工作室我有一个Android模块,我们称之为MyAndroid.我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava.Android Stu ...

  2. linux屏幕分辨率文件,Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决

    新装完Ubuntu 16.04 LTS 通过System settings-->Displays 设置屏幕分辨率 显示"Unknown display",选择后无反应,并且屏 ...

  3. chart.js ajax 折线图,如何在ChartJs 的折线图中显示数据值或索引标签

    如何在Chartjs的折线图中显示数据值或索引值,如图所示: 图例.PNG 简介 Chart.js是一款不依赖任何外部js库的图标插件,具体的使用方法可查看Chart.js官网. 需求 Chart.j ...

  4. android自定义videoview,android-如何在播放前在videoview中设置预览图像

    android-如何在播放前在videoview中设置预览图像 我在活动中创建了VideoView,下面是代码. VideoView vvVideos = (VideoView) rootView.f ...

  5. android 显示进度,progressdialog-如何在Android中显示进度对话框?

    progressdialog-如何在Android中显示进度对话框? 当我单击"登录"按钮时,我想显示ProgressDialog,这需要时间才能移动到另一个页面. 我怎样才能做到 ...

  6. android togglebutton 动画,如何在Android中使用ToggleButton多状态按钮控件

    如何在Android中使用ToggleButton多状态按钮控件 发布时间:2020-12-05 16:53:37 来源:亿速云 阅读:84 作者:Leah 这篇文章给大家介绍如何在Android中使 ...

  7. UltData for Android for Mac如何在Android上恢复已删除的短信

    如何在Android上恢复已删除的短信 虽然WhatsApp和其他聊天信使接管了Android手机的默认短信,但仍然有一些非常重要的信息是通过短信从公司或朋友那里收到的.这就是这些短信仍然有价值的原因 ...

  8. android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测

    如何在Android中利用 GestureDetector进行手势检测 发布时间:2020-11-26 16:15:21 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关如何在Andro ...

  9. android编辑配置文件,如何在android studio中修改配置文件

    在使用android studio过程中,你知道怎么手动修改配置文件吗?下面是学习啦小编给大家整理的一些有关在android studio中修改配置文件的方法,希望对大家有帮助! 在android s ...

最新文章

  1. 初创企业购买企业邮箱_支持#NetNeutrality =支持设计师及其创建的初创企业
  2. java 多项式拟合最多的项数_牛顿插值法、曲线拟合、多项式拟合
  3. Qt Creator编写代码
  4. 把MySQL中的各种锁及其原理都画出来
  5. 2019蓝桥杯省赛---java---B---3(数列求值)
  6. 流程管理软件如何适应变化
  7. 自动化日志收集及分析在支付宝 App 内的演进
  8. 学习笔记 - Linux学习笔记 第四讲 Linux常用命令
  9. 向爸爸借了500,向妈妈借了500,买了双皮鞋用了970。剩下30元,还爸爸10块,还妈妈10块,自己剩下了10块,欠爸爸490,欠妈妈490,490+490=980。加上自己的10块=990。还有1
  10. NXP推出Icode DNA芯片,助力产品防伪鉴定
  11. vue 定制上传按钮的样式的两种方法
  12. python pptx 替换图片_python win32com批量导出.ppt/.pptx文件所有图片
  13. 华为笔记本电脑home键和end键快捷方式
  14. Coolpad(酷派) 进入手机工厂模式
  15. Python实现抓取CSDN热门文章列表
  16. 服务器如何多个网站和数据库,网站和数据库分两个服务器
  17. 如何快速打造一个高权重的短视频账号?短视频运营推广日记(2)
  18. 什么是Saas软件?
  19. 如何给孩子取个优雅的名字
  20. 注册测绘师学习笔记(五)

热门文章

  1. Linux firewall(防火墙)相关命令
  2. pjax php demo,jQuery pjax 应用简单示例
  3. 伟创变频器AC310与上位机通信调试记录
  4. JMeter压力测试总结
  5. 如何在微信昵称后加个福字?
  6. 图像的基本知识123
  7. MathType使用(问题和技巧记录)
  8. Node.js 是什么?Node.js与JavaScript的区别是什么?
  9. 动态代理大揭晓,带你彻底弄清楚动态代理
  10. php 邮箱验证正则表达式,php邮箱地址正则表达式验证