diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e792e1f..beabc18 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,7 +5,6 @@ - diff --git a/app/src/main/java/io/github/acedroidx/frp/AutoStartBroadReceiver.kt b/app/src/main/java/io/github/acedroidx/frp/AutoStartBroadReceiver.kt index d776918..aaa2605 100644 --- a/app/src/main/java/io/github/acedroidx/frp/AutoStartBroadReceiver.kt +++ b/app/src/main/java/io/github/acedroidx/frp/AutoStartBroadReceiver.kt @@ -3,6 +3,7 @@ package io.github.acedroidx.frp import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import android.os.Build import androidx.appcompat.app.AppCompatActivity class AutoStartBroadReceiver : BroadcastReceiver() { @@ -13,11 +14,13 @@ class AutoStartBroadReceiver : BroadcastReceiver() { val auto_start = editor.getBoolean("auto_start", false) if (ACTION == intent.action && auto_start) { //开机启动 - val mainIntent = Intent(context, MainActivity::class.java) - mainIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK - context.startActivity(mainIntent) + val mainIntent = Intent(context, ShellService::class.java) + mainIntent.putExtra("filename", BuildConfig.FrpcFileName) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + context.startForegroundService(mainIntent) + }else{ + context.startService(mainIntent) + } } } - - } \ No newline at end of file diff --git a/app/src/main/java/io/github/acedroidx/frp/MainActivity.kt b/app/src/main/java/io/github/acedroidx/frp/MainActivity.kt index a464b54..1faf1df 100644 --- a/app/src/main/java/io/github/acedroidx/frp/MainActivity.kt +++ b/app/src/main/java/io/github/acedroidx/frp/MainActivity.kt @@ -66,7 +66,6 @@ class MainActivity : AppCompatActivity() { val editor = getSharedPreferences("data", AppCompatActivity.MODE_PRIVATE) auto_start_switch = findViewById(R.id.auto_start_switch) auto_start_switch.isChecked = editor.getBoolean("auto_start", false) - if (auto_start_switch.isChecked) (startShell()) auto_start_switch.setOnCheckedChangeListener { buttonView, isChecked -> val editor = editor.edit() editor.putBoolean("auto_start", isChecked) diff --git a/app/src/main/java/io/github/acedroidx/frp/ShellService.kt b/app/src/main/java/io/github/acedroidx/frp/ShellService.kt index 4e5b2a5..64cad25 100644 --- a/app/src/main/java/io/github/acedroidx/frp/ShellService.kt +++ b/app/src/main/java/io/github/acedroidx/frp/ShellService.kt @@ -70,7 +70,7 @@ class ShellService : Service() { stopSelf() return START_NOT_STICKY } - Toast.makeText(this, "已启动服务", Toast.LENGTH_SHORT).show() + Toast.makeText(this, "已启动frp服务", Toast.LENGTH_SHORT).show() startForeground(1, showMotification()); return START_NOT_STICKY } @@ -78,7 +78,7 @@ class ShellService : Service() { override fun onDestroy() { p?.destroy() p = null - Toast.makeText(this, "已关闭服务", Toast.LENGTH_SHORT).show() + Toast.makeText(this, "已关闭frp服务", Toast.LENGTH_SHORT).show() } private fun showMotification(): Notification {