Android 接收引导完整广播需要很多时间
我有一个应用程序必须在android系统启动时运行,我使用通常的方式注册广播并接收广播: 在manifest.xml中:Android 接收引导完整广播需要很多时间,android,broadcastreceiver,bootcompleted,Android,Broadcastreceiver,Bootcompleted,我有一个应用程序必须在android系统启动时运行,我使用通常的方式注册广播并接收广播: 在manifest.xml中: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.automation.isolace" android:versionCode="8" android:versionName="1.3" android:installLoc
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.automation.isolace"
android:versionCode="8"
android:versionName="1.3"
android:installLocation="internalOnly" >
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
.
.
.
<receiver
android:name="com.automation.standards.BootCompletedReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter android:priority="999">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
.
.
.
</application>
</manifest>
然后,当设备启动时,应用程序应该立即接收启动_completed
广播,但结果在不同的设备上有所不同,在一些设备上,应用程序立即接收,而在另一些设备上,它会在一段时间后接收,这可能是一秒或两秒,在一些设备上,它达到大约10秒,这里的问题是,应用程序必须在主屏幕UI出现之前运行,因此它必须立即接收广播
正如清单中的代码所示,我试图赋予广播最高的优先级,但问题仍在讨论中
那么,有什么可能实现这一点,有没有办法解决这个问题?有没有一种方法可以通过变通的方式克服这一问题(比如防止设备在一段时间内显示屏幕或阻止系统启动其家庭活动布局)?@MikeM。非常感谢。那么,如何知道哪些广播可能首先播出呢?!!是否有一个特定的恒定顺序@米肯。非常感谢。那么,如何知道哪些广播可能首先播出呢?!!是否有一个特定的恒定顺序?!!
public class BootCompletedReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.d("MConn", "BOOT_COMPLETED received");
}
}