Android 获取闹钟引发的血案
想做一个锁屏的软件。锁屏后可以显示闹钟信息。
一开始的思路是通过android content provider获取
- mActivityObject.getContentResolver().query(
- Uri.parse("content://com.android.deskclock/alarm")
- , ALARM_QUERY_COLUMNS
- , null
- , null
- , DEFAULT_SORT_ORDER
- );
发现这种方式局限性太多了。很多手机上包名都改掉了。。。
还会有可能出现如下错误:
- 10-29 12:01:05.597: W/System.err(30638): java.lang.SecurityException: Provider com.android.deskclock/com.android.deskclock.AlarmProvider does not allow granting of Uri permissions (uri content://com.android.deskclock/alarm)
- 10-29 12:01:05.597: W/System.err(30638): at android.os.Parcel.readException(Parcel.java:1425)
- 10-29 12:01:05.597: W/System.err(30638): at android.os.Parcel.readException(Parcel.java:1379)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityManagerProxy.grantUriPermission(ActivityManagerNative.java:2941)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ContextImpl.grantUriPermission(ContextImpl.java:1382)
- 10-29 12:01:05.597: W/System.err(30638): at android.content.ContextWrapper.grantUriPermission(ContextWrapper.java:453)
- 10-29 12:01:05.597: W/System.err(30638): at com.ry.ui.phone.RYUIPlatform.AlarmTime(RYUIPlatform.java:285)
- 10-29 12:01:05.597: W/System.err(30638): at com.ry.ui.sunlock.sunLock.onResume(sunLock.java:319)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.Activity.performResume(Activity.java:5082)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2816)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2854)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2329)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread.access$600(ActivityThread.java:139)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1295)
- 10-29 12:01:05.597: W/System.err(30638): at android.os.Handler.dispatchMessage(Handler.java:99)
- 10-29 12:01:05.597: W/System.err(30638): at android.os.Looper.loop(Looper.java:137)
- 10-29 12:01:05.597: W/System.err(30638): at android.app.ActivityThread.main(ActivityThread.java:5117)
- 10-29 12:01:05.597: W/System.err(30638): at java.lang.reflect.Method.invokeNative(Native Method)
- 10-29 12:01:05.597: W/System.err(30638): at java.lang.reflect.Method.invoke(Method.java:511)
- 10-29 12:01:05.597: W/System.err(30638): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
- 10-29 12:01:05.597: W/System.err(30638): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
- 10-29 12:01:05.597: W/System.err(30638): at dalvik.system.NativeStart.main(Native Method)
- 10-29 12:01:05.597: W/System.err(30638): java.lang.SecurityException: Provider com.android.deskclock/com.android.deskclock.TimersProvider does not allow granting of Uri permissions (uri content://com.android.deskclock.timers)
google 了一翻。愣是米有找到解决办法
心灰意冷之季。。
发现用如下方法可以直接取到下一个闹钟的时间
- String str = Settings.System.getString(mActivityObject.getContentResolver(),
- Settings.System.NEXT_ALARM_FORMATTED);
赶紧一试果然。。
Android 获取闹钟引发的血案的更多相关文章
- Android ObjectOutputStream Serializable引发的血案
遇到一个问题 安装后第二次进app,闪退 重现步骤 [前置条件] 打包分支:dev_7.13 手机:vivo NEX 8.1.0 [步骤] 安装三星app----同意用户协议进入书城---连续点击ba ...
- 一个无锁消息队列引发的血案(六)——RingQueue(中) 休眠的艺术 [续]
目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...
- 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术
目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...
- [WCF]缺少一行代码引发的血案
这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约 ...
- dubbox微服务实例及引发的“血案”
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 主要核心部件: Remoting: 网络通信框架 ...
- Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度)
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...
- Replication的犄角旮旯(七)-- 一个DDL引发的血案(下)(聊聊logreader的延迟)
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...
- Android 实现闹钟功能
原文地址:Android 实现闹钟功能作者:Android_Learners 一.手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以 ...
- 一个字母引发的血案 java.io.File中mkdir()和mkdirs()
一个字母引发的血案 明天开始放年假了,临放假前有个爬虫的任务,其中需要把网络图片保存到本地,很简单,马上写完了代码: //省略部分代码... Long fileId= (Long) data.get( ...
随机推荐
- JERSEY中文翻译(第三章、JAX-RS Application, Resources and Sub-Resources)
JAX-RS Application Resource and Sub-Resource 本章要介绍的是JAX-RS的核心概念——Resouce.Sub-Resource JAX-RS的2.0的jav ...
- tortoisegit 右键无图标
如果你安装 TortoiseGit之后,发现文件夹或文件左上角就是不显示图标,那么以下步骤就是最好的解决办法. 工具/原料 TortoiseGit 方法/步骤 确认是不是64bit 系统上 ...
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
http://blog.csdn.net/u010967382/article/details/39209329 http://blog.csdn.net/fansy1990/article/deta ...
- CDH的安装和设置
采用伪分布模式安装和设置CDH,前提是已经安装了Java和SSH. 1. 下载hadoop-2.6.0-cdh5.9.0,复制到/opt/下,再解压: 2. 进入/opt/hadoop-2.6.0-c ...
- python操作Excel的几种方式
Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 1.xlrd主要是用来读取excel文件 import xlrd workbook ...
- string int 类型转换
string int 类型转换 (int) 此方法不适用于将string 转换为int 只能转换数值类型为int 而不能转换引用类型 不会四舍五入 直接去掉小数位 Conver.ToInt() 会 ...
- java面试第二天
局部变量:不是声明在类体括号里面的变量 (1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值 (2)作用范围:定义开始到定义它的代码块结束 (3)同一范围内,不允许2个局部变量命名冲突 ...
- 单链表Java实现
近期在复习基本数据结构,本文是单链表的Java实现,包含对单链表的实现插入删除查找遍历等.最后还实现了单链表的逆置. 实现了多项式相加,多项式相乘. 原文章及完整源码在这里 http://binhua ...
- 【翻译自mos文章】当/var/tmp文件夹被remove掉之后,GI crash,并启动失败,原因是ohasd can not create named pipe
来源于: GI crashes and fails to start after "/var/tmp" directory was removed as ohasd can not ...
- Knockout学习之表单绑定器(上)
表单绑定器 “click”绑定 Click 绑定器可以将javascript函数绑定到指定的dom元素,并且再该元素被点击时将触发绑定的函数,大多数情况下都会使用button.input和a元素,当然 ...