在写Android测试代码的时候需要获取系统的关机时间,可以通过监听关机广播实现。
广播监听类不能写在androidTest目录下,需要在辅助apk中实现,这样在运行测试类时就可以获取关机时间
添加步骤:
1. 在AndroidMainfest.xml中添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2. 在AndroidMainfest.xml中注册监听器,添加到<application 标签下
<receiver android:name="com.***.ShutDownBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>
3.在APP代码中创建ShutDownBroadcastReceiver类,用于监听关机广播,并记录关机时间
public class ShutDownBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent){
System.out.println("---------Shut down-------------");
File file = new File ("/sdcard/result.txt");
try {
if(!file.exists())
{
file.createNewFile();
}
FileWriter writer = null;
writer = new FileWriter(file, true);
writer.write("Shut down [" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((new Date()).getTime()) + "]\n");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}