Android下获取开机时间

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

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

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

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

Receiver文件,记录开机时间。
Java代码 
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();// 别忘了提交哦  
        }  
   
    }  


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();// 别忘了提交哦
        }

    }
}

读取开机时间
Java代码 
/** 
* 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;  

猜你喜欢

转载自wen742538485.iteye.com/blog/1607253