android:使用 Intent.ACTION_BOOT_COMPLETED 或...?
android: use Intent.ACTION_BOOT_COMPLETED or ...?
在 AndroidManifest 文件中,我想在用户重新启动设备时捕获 BOOT_COMPLETED 事件。我正在添加此权限:
"uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
我在 Whosebug 上看到两个 "intent-filters" 被其他人使用:
"Intent.ACTION_BOOT_COMPLETED" 和
"android.intent.action.BOOT_COMPLETED"
这里的首选操作字符串是什么?请指教和解释。
Intent.ACTION_BOOT_COMPLETED == android.intent.action.BOOT_COMPLETED
它们是相同的,因为如果您查看 Intent.ACTION_BOOT_COMPLETED
的值,您会发现它是 android.intent.action.BOOT_COMPLETED
。
通常在清单中,您将使用 android.intent.action.BOOT_COMPLETED
,因为 Intent.ACTION_BOOT_COMPLETED
是 Java 代码而不是 xml。
但是在您的代码中,您可以使用 Intent.ACTION_BOOT_COMPLETED
作为替代方法,因为它更容易记住。
这是一个完整的解决方案:
在清单中设置权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
你需要一个接收器来 运行 当你的系统重新启动时,像这样:
public class StartMyActivityAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// everything here executes after system restart
}
}
}
在您的清单中包含此接收器,如下所示:
<receiver
android:name=".service.StartMyActivityAtBootReceiver"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
在 AndroidManifest 文件中,我想在用户重新启动设备时捕获 BOOT_COMPLETED 事件。我正在添加此权限:
"uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
我在 Whosebug 上看到两个 "intent-filters" 被其他人使用:
"Intent.ACTION_BOOT_COMPLETED" 和
"android.intent.action.BOOT_COMPLETED"
这里的首选操作字符串是什么?请指教和解释。
Intent.ACTION_BOOT_COMPLETED == android.intent.action.BOOT_COMPLETED
它们是相同的,因为如果您查看 Intent.ACTION_BOOT_COMPLETED
的值,您会发现它是 android.intent.action.BOOT_COMPLETED
。
通常在清单中,您将使用 android.intent.action.BOOT_COMPLETED
,因为 Intent.ACTION_BOOT_COMPLETED
是 Java 代码而不是 xml。
但是在您的代码中,您可以使用 Intent.ACTION_BOOT_COMPLETED
作为替代方法,因为它更容易记住。
这是一个完整的解决方案:
在清单中设置权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
你需要一个接收器来 运行 当你的系统重新启动时,像这样:
public class StartMyActivityAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// everything here executes after system restart
}
}
}
在您的清单中包含此接收器,如下所示:
<receiver
android:name=".service.StartMyActivityAtBootReceiver"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>