Android系统启动时间(不是系统当前时间)的获取
2016-07-21 15:38
483 查看
1》.查里很多资料,并没有找到直接获取系统启动时间(不是系统当前时间)的ApI;
思路转换为:接收系统的开机广播,在广播里面获取当前的时间;
2》.注意几点:
1.BootUPReceiver广播类创建,这个广播只能静态注册;
2.在清单文件注册广播,要给开机广播权限
3.在OnReceive方法里面获取系统当前时间,再将时间保存到sharedPreference里面
4.在MainActivity里面获取sharedPreference里面数据,展示到TextView里面
5.注意:先安装应用,然后重启手机,eclipse里面才能看到BootUpReceiver里面要打印信息;再打开应用,eclipse里面才能看到MainActivity里面要打印信息。(一定要重启!!!)
3》
1.BootUpReceiver类的创建:
2.MainActivity:
3.清单文件:
思路转换为:接收系统的开机广播,在广播里面获取当前的时间;
2》.注意几点:
1.BootUPReceiver广播类创建,这个广播只能静态注册;
2.在清单文件注册广播,要给开机广播权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.在OnReceive方法里面获取系统当前时间,再将时间保存到sharedPreference里面
4.在MainActivity里面获取sharedPreference里面数据,展示到TextView里面
5.注意:先安装应用,然后重启手机,eclipse里面才能看到BootUpReceiver里面要打印信息;再打开应用,eclipse里面才能看到MainActivity里面要打印信息。(一定要重启!!!)
3》
1.BootUpReceiver类的创建:
package com.zhc.bootupreceiver; import java.text.SimpleDateFormat; import java.util.Date; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.widget.Toast; public class BootUpReceiver extends BroadcastReceiver {//这种接受开机广播的,一定要静态注册,这样应用还没运行起来时也照样能够接收到开机广播 private SharedPreferences sharedPreferences; private Editor editor; private SimpleDateFormat formatter; @Override public void onReceive(Context context, Intent intent) {//注意onReceive方法里面不能执行大量逻辑操作和耗时操作 Toast.makeText(context, "Boot complete",Toast.LENGTH_SHORT ).show(); System.out.println("------------22222222222------------"); // 获取当前时间 formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss "); Date curDate = new Date(System.currentTimeMillis()); String date = formatter.format(curDate); /** * 保存数据到sp里面 */ sharedPreferences = context.getSharedPreferences("BootUpTime", Context.MODE_PRIVATE); editor = sharedPreferences.edit(); editor.putString("timekey", date); editor.commit();// 别忘了提交 } }
2.MainActivity:
package com.zhc.bootupreceiver; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.RunningAppProcessInfo; import android.content.Context; import android.content.SharedPreferences; import android.util.Log; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView view = (TextView) findViewById(R.id.tv); /** * 从sp里面获取数据 */ SharedPreferences pre=getSharedPreferences("BootUpTime", Context.MODE_PRIVATE); String time = pre.getString("timekey","" ); System.out.println("111111111111111111111"+time); view.setText(time); } }
3.清单文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zhc.bootupreceiver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name=".BootUpReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver> <activity android:name="com.zhc.bootupreceiver.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
相关文章推荐
- android 事件绑定
- Android开发-日期选择按钮-步骤方法
- 根据Android Layout XM文件自动生成自定义View代码的工具类
- android studio 中运行java main class
- android LisrView 几个重要属性
- Android用HandlerThread模拟AsyncTask功能(ThreadTask)
- 在launch界面找不到应用程序图标的问题
- TextView的折叠展开(动画效果)
- android 字符串 整型 浮点型 相互转换
- Android -- View setScale, setTranslation 对View矩阵的处理
- android开发该如何提高Android程序的效率
- Android Studio中获取SHA1或MD5的方法
- Android学习笔记034之数据存储—SQLite数据库
- Activity全屏和去掉标题拦
- TextView使用Spannable设置复合文本
- android studio 如何生成自己的sdk
- android gridview知识点
- android studio 导出的jar中没有主清单属性
- 新手Android学习笔记 04
- 新手Android学习笔记 04