安卓如何获得查看app使用时间权限

安卓如何获得查看app使用时间权限,第1张

您好,要获得查看app使用时间权限,首先您需要在安卓设备上打开“设置”,然后点击“应用程序”,接着您可以看到所有已安装的应用程序,点击您想要查看使用时间的应用程序,然后点击“权限”,在这里您可以看到您想要查看的app使用时间的权限,如果您想要更改权限,只需点击“启用”或“禁用”即可。

第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。() 第二个方法 1. 同上,加入android:sharedUserId="android.uid.system"这个属性。2. 使用eclipse编译出未签名apk文件,3. 用google带的签名来签名

在Android中大概又两种实现方式:一种是java中的Timer类,一种是Android中的Alerm机制。两者功能差不多。

Alerm具有cup运行锁,而Timer不具有cpu锁。

每种手机都具有自己的休眠策略,当长时间不是手机的情况下,cpu就会进入休眠状态。在这种情况下Timer将无法工作。而Alerm具有cpu锁,将会导致cpu无法休眠。

AlarmManager  manger=(AlarManger)getSystemService(Context.ALARM_SERVICE)

manger.set(int flag,long time,PendingIntent  pendingIntent)

set方法参数说明:

第一个参数flag为工作类型:

AlarmManger .ELAPSED_REALTIME:让定时时间从开机算起时间算起,但不会唤醒cpu。

AlarmManger.ELAPSED_REALTIME_WAKEUP:同样表示让定时时间从开机算起,但会唤醒                                                                               CPU。

RTC:表示让定时任务从1970年1月1日算起,但是不唤醒cpu。

RTC_WAKEUP:表示让定时任务从1970年1月1日算起,但是唤醒cpu。

提示:SystemClock.elapsedReadtime()---获取系统开机至今所经历的毫秒数;

           System.currentTimeMillis()-------方法获取1970年1月1日至今天的毫秒数;

第二个参数: 延时的时间,单位毫秒;

第三个参数: PendingIntent指定具体动作;

注意:Android4.4版本后set方法触发不准确,有可能会延时一段时间执行(这不是Bug,是电池性能优化,系统会检测目前有多少个Alarm任务存在,然后将触发相近的几个任务一起执行)

如果要精确执行,将 setExact() 方法代替set()方法。

cancel ( PendingIntent   operation )

方法将会取消Intent匹配的任何闹钟。

setRepeating(int type,long triggerAtTime,long interval,PendingIntent operation);

参数说明:interval重复时间间隔;(4.4后触发不准时)

AlarmManger的其它功能:

设置系统时间和时区

添加权限:android.permission.SET_TIME;

通过setTime(long millis)方法设置系统时间;

需要添加android.permission.SET_TIME_ZONE权限。

通过setTimeZone(String tz)方法设置时区;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11079180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存