我想在我的android应用程序中保存一个日志,日志将包含Device Started(Bootup)和Device Stop Times。任何想法如何做到这一点?
我必须在Bootup上启动我的应用程序,但是如何确定该应用程序是否在Bootup上启动?
我搜索过但无法找到更好的解决方案。
答案 0 :(得分:7)
使用BroadCastReceiver
接收BOOT_COMPLETED
广播。此广播在设备启动时抛出
接收器就像
<receiver
android:name="ReceiverName"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
您需要使用以下延迟
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
现在在代码中编写一个BroadCastReceiver
类,如
public class ReceiverName extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// do startup tasks or start your luncher activity
}
}
答案 1 :(得分:5)
您可以使用BroadcastReceiver组件来实现此目的。使用此功能,您可以检测设备的各种事件,例如启动。
要检测启动过程,您需要在AndroidManifest.xml中授予权限,如下所示
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
然后你需要创建一个将处理这个的BrodacastReceiver,
在onReceive()方法中,相应的BroadcastReceiver将启动事件
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, WordService.class);
context.startService(service);
}
}