2

我想在我的 android 应用程序中保留一个日志,日志将包含设备启动(启动)和设备停止时间。任何想法如何做到这一点?

我必须在 Bootup 上启动我的应用程序,但是如何确定该应用程序是在 Bootup 上启动的?

我已经搜索但找不到更好的解决方案。

4

2 回答 2

9

用于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
    }
}
于 2013-07-02T05:20:25.780 回答
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);
    }
}
于 2013-07-02T05:19:15.967 回答