目前全国已有3亿多视光疾病患者,每年眼镜需求量达7000万副,近视率从过去的全球排名第四上升到第二,仅次于日本。保护眼睛成了一个刻不容缓的话题。对于很多学生、上班族来说,除了每天大量时间对着书本、电脑外,恐怕眼睛最大的焦点都是放在手机上,因此,一款能够保护眼睛的手机软件就愈发显得重要。
于是,为了保护眼睛,我便做了个应用
主要涉及到的知识点:
- Service:除了前台服务外,实际开发中Service还有一种常见的用法,就是执行定时任务, 比如轮询,就是每间隔一段时间就请求一次服务器,确认客户端状态或者进行信息更新,而Android中给我们提供的定时方式有Alarm机制!
- 定时服务AlarmManager:
set(int type,long startTime,PendingIntent pi):一次性闹钟
setRepeating(int type,long startTime,long intervalTime,PendingIntent pi): 重复性闹钟,和3有区别,3闹钟间隔时间不固定
setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi): 重复性闹钟,时间不固定
cancel(PendingIntent pi):取消AlarmManager的定时服务
getNextAlarmClock():得到下一个闹钟,返回值AlarmManager.AlarmClockInfo
setAndAllowWhileIdle(int type, long triggerAtMillis, PendingIntent operation) 和set方法类似,这个闹钟运行在系统处于低电模式时有效
setExact(int type, long triggerAtMillis, PendingIntent operation): 在规定的时间精确的执行闹钟,比set方法设置的精度更高
setTime(long millis):设置系统墙上的时间
setTimeZone(String timeZone):设置系统持续的默认时区
setWindow(int type, long windowStartMillis, long windowLengthMillis, PendingIntent operation): 设置一个闹钟在给定的时间窗触发。类似于set,该方法允许应用程序精确地控制操作系统调 整闹钟触发时间的程度。
4.Notification的基本使用流程以及设置相关的一些方法
在AndroidManifest中设置Service以及Notification
<application
android:allowBackup="true"
android:icon="@drawable/mice"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".Activity.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity.Activity_inform"/>
<activity android:name=".Activity.Activity_time"/>
<service android:name=".Service.LongRunningService" >
</service>
<receiver android:name=".Service.AlarmReceiver" >
</receiver>
</application>
设置定时服务
mainactivity:
import android.app.Activity;
import android.content.Intent;