添加开机自启功能

This commit is contained in:
zxj
2025-08-21 15:45:35 +08:00
parent f055441340
commit 18fbdc9875
4 changed files with 31 additions and 3 deletions
+1 -2
View File
@@ -1,5 +1,3 @@
import org.gradle.kotlin.dsl.implementation
plugins { plugins {
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.android)
@@ -31,6 +29,7 @@ android {
ndk { ndk {
abiFilters.addAll(listOf("armeabi-v7a"/*, "arm64-v8a"*/)) abiFilters.addAll(listOf("armeabi-v7a"/*, "arm64-v8a"*/))
} }
setProperty("archivesBaseName", "档口双屏_${versionName}")
} }
buildTypes { buildTypes {
+10
View File
@@ -14,6 +14,7 @@
<uses-permission <uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" /> android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application <application
android:name=".MyApp" android:name=".MyApp"
@@ -27,6 +28,15 @@
android:theme="@style/Theme.DualScreen" android:theme="@style/Theme.DualScreen"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:targetApi="31"> tools:targetApi="31">
<!-- 注册BootReceiver,监听开机完成广播 -->
<receiver
android:name=".receiver.BootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity <activity
android:name=".activity.InitActivity" android:name=".activity.InitActivity"
android:exported="true"> android:exported="true">
@@ -0,0 +1,19 @@
package com.sw.dualscreen.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.sw.dualscreen.activity.InitActivity
import timber.log.Timber
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (Intent.ACTION_BOOT_COMPLETED == intent.action) {
Timber.d("设备启动完成,开始执行自启动逻辑")
val intent = Intent(context, InitActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent)
}
}
}
@@ -1,6 +1,6 @@
package com.sw.dualscreen.utils package com.sw.dualscreen.utils
class Debouncer(private val delayMillis: Long) { class Debouncer(private val delayMillis: Long = 2000) {
private var lastActionTime = 0L private var lastActionTime = 0L
/** /**