想做一个锁屏的软件。锁屏后可以显示闹钟信息。

一开始的思路是通过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);

赶紧一试果然。。

更多相关文章

  1. Android中Alarm的机制
  2. Android(安卓)闹钟详解
  3. Android遇到java.lang.RuntimeException: Binary XML file line
  4. Android(安卓)关于listView 显示不全的问题
  5. 基于Android(安卓)5.1系统的nfc读卡驱动和上层的调试记录,nfc移植
  6. ANDROID导入文件后的本地无法编译生成R.java的问题
  7. Android中AlarmManager的使用
  8. Android(安卓)Studio Wear Demo
  9. Android(安卓)工程V4包找不到的问题

随机推荐

  1. android开发工具简介及下载地址
  2. android的重启(大部分是转载)
  3. Android(安卓)2.3.3 SDK 源代码关联Eclip
  4. android adb project
  5. android studio 升级到3.0.1 原有项目运
  6. android初入门工具及配置
  7. android killer插入log打印加密字符串
  8. android之listener
  9. Android(安卓)使用ToneGenerator编写按键
  10. 32位Ubuntu10.04上编译Android2.3