增强开机启动

This commit is contained in:
2026-06-18 10:28:37 +08:00
parent 5f0d0058eb
commit e95ed95803
4 changed files with 128 additions and 6 deletions
+10 -2
View File
@@ -27,19 +27,27 @@
android:excludeFromRecents="false"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden|screenSize">
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver
android:name=".BootReceiver"
android:exported="true">
android:exported="true"
android:enabled="true"
android:directBootAware="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
@@ -3,13 +3,29 @@ package cn.flyzxf.FengTv
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Handler
import android.os.Looper
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_BOOT_COMPLETED) {
val launchIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
launchIntent?.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(launchIntent)
if (intent.action == Intent.ACTION_BOOT_COMPLETED ||
intent.action == "android.intent.action.QUICKBOOT_POWERON" ||
intent.action == "com.htc.intent.action.QUICKBOOT_POWERON") {
// 延迟启动,等系统完全就绪
Handler(Looper.getMainLooper()).postDelayed({
try {
val launchIntent = context.packageManager.getLaunchIntentForPackage(context.packageName)
if (launchIntent != null) {
launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED or
0x01000000) // FLAG_ACTIVITY_LAUNCH_FROM_HISTORY (API 31+)
context.startActivity(launchIntent)
}
} catch (e: Exception) {
e.printStackTrace()
}
}, 3000L) // 延迟 3 秒确保系统已就绪
}
}
}