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

一开始的思路是通过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 监听USB连接状态
  2. android视频不播放的问题
  3. android中判断网络和WIFI是否连接
  4. 让EditText无法点击编辑和RatingBar无法点击
  5. android视频不播放的问题
  6. 在Android中扫描wifi热点演示实例教程
  7. android中判断网络和WIFI是否连接
  8. 利用Handler来更新android的UI
  9. android中判断网络和WIFI是否连接

随机推荐

  1. Asynchronous HTTP Requests in Android(
  2. android UI线程向子线程发送Message
  3. Android(安卓)Scroller、VelocityTracker
  4. Android(安卓)Studio插件整理
  5. android的休眠和唤醒流程
  6. 解决TextView中MaxLines与ellipsize=end
  7. 打包下载Android源码
  8. 如何将Eclipse中的项目迁移到Android(安
  9. Android应用配置签名
  10. android 自定义相机 取矩形内内容 注意事