我的思路是:程序里注册个广播接收器,接收开机启动的广播,当程序接到该广播后,写入文件SharedPreferences,当我们程序需要用到开机时间时,再从SharedPreferences中读取信息。

废话不多说,下面上源码。

AndroidManifest.xml
<receiver android:name=".receiver.BootUpReceiver">    <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED" />    </intent-filter></receiver>

Receiver文件,记录开机时间。
public class BootUpReceiver extends BroadcastReceiver {    private SharedPreferences sharedPreferences;// 配置文件    private Editor editor;// 更改配置文件的类实例     @Override    public void onReceive(Context context, Intent intent) {        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {             sharedPreferences = context.getSharedPreferences("这是存储文件的名字",                    Context.MODE_PRIVATE);            editor = sharedPreferences.edit();             editor.putLong("存储时间的key", new Date().getTime());             editor.commit();// 别忘了提交哦        }     }}

读取开机时间
/** * Description : 获取开机的时间 * * @return String 秒数 * */ public static long getUpTime(Activity context) {    SharedPreferences sharedPreferences=context.getSharedPreferences("这是存储文件的名字", Context.MODE_PRIVATE);    long seconds= sharedPreferences.getLong("存储时间的key", new Date().getTime());    return seconds;}

更多相关文章

  1. Android Studio 小技巧(1):如何导入AAR文件
  2. android 开发-文件存储之读写sdcard
  3. 怎么在android的XML文件里加入凝视
  4. android下大文件分割上传

随机推荐

  1. [Android]接收Push Notification及弹出Di
  2. Android ---------- Android Bar Bug 总
  3. 获取android中正在运行应用程序的列表
  4. Android frambuffer 驱动的简要解析
  5. 学习到的有关android的知识点 单元测试等
  6. Android 解决多个通知发生冲突的问题
  7. QT开始支持andriod和ios
  8. Android 实现Toast的快速切换刷新
  9. Android自定义dialog弹出布局
  10. Android Sqlite数据库查询操作使用 '%?%'