新增:自动任务·快捷指令 (开发中)
This commit is contained in:
parent
bceebbddd4
commit
70d685ee93
|
@ -257,7 +257,7 @@ class ServerFragment : BaseFragment<FragmentServerBinding?>(), View.OnClickListe
|
|||
}
|
||||
//重启前台服务,启动/停止定位服务
|
||||
val serviceIntent = Intent(requireContext(), LocationService::class.java)
|
||||
serviceIntent.action = "START"
|
||||
serviceIntent.action = "RESTART"
|
||||
requireContext().startService(serviceIntent)
|
||||
}
|
||||
|
||||
|
|
|
@ -465,7 +465,7 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
if (isChecked) {
|
||||
XXPermissions.with(this).permission(Permission.ACCESS_COARSE_LOCATION).permission(Permission.ACCESS_FINE_LOCATION).permission(Permission.ACCESS_BACKGROUND_LOCATION).request(object : OnPermissionCallback {
|
||||
override fun onGranted(permissions: List<String>, all: Boolean) {
|
||||
restartLocationService()
|
||||
restartLocationService("START")
|
||||
}
|
||||
|
||||
override fun onDenied(permissions: List<String>, never: Boolean) {
|
||||
|
@ -478,11 +478,11 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
}
|
||||
SettingUtils.enableLocation = false
|
||||
switchEnableLocation.isChecked = false
|
||||
restartLocationService()
|
||||
restartLocationService("STOP")
|
||||
}
|
||||
})
|
||||
} else {
|
||||
restartLocationService()
|
||||
restartLocationService("STOP")
|
||||
}
|
||||
layoutLocationSetting.visibility = if (isChecked) View.VISIBLE else View.GONE
|
||||
}
|
||||
|
@ -502,7 +502,8 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
R.id.rb_accuracy_no_requirement -> Criteria.NO_REQUIREMENT
|
||||
else -> Criteria.ACCURACY_FINE
|
||||
}
|
||||
restartLocationService()
|
||||
//TODO: MainActivity.kt 中压入 FragmentManager 时会导致定位服务重启,暂时注释掉
|
||||
//restartLocationService()
|
||||
}
|
||||
//设置电量消耗:低电耗(默认)
|
||||
rgPowerRequirement.check(
|
||||
|
@ -522,26 +523,30 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||
R.id.rb_power_requirement_no_requirement -> Criteria.NO_REQUIREMENT
|
||||
else -> Criteria.POWER_LOW
|
||||
}
|
||||
restartLocationService()
|
||||
//TODO: MainActivity.kt 中压入 FragmentManager 时会导致定位服务重启,暂时注释掉
|
||||
//restartLocationService()
|
||||
}
|
||||
//设置位置更新最小时间间隔(单位:毫秒); 默认间隔:10000毫秒,最小间隔:1000毫秒
|
||||
xsbMinInterval.setDefaultValue((SettingUtils.locationMinInterval / 1000).toInt())
|
||||
xsbMinInterval.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
|
||||
SettingUtils.locationMinInterval = newValue * 1000L
|
||||
restartLocationService()
|
||||
//TODO: MainActivity.kt 中压入 FragmentManager 时会导致定位服务重启,暂时注释掉
|
||||
//restartLocationService()
|
||||
}
|
||||
//设置位置更新最小距离(单位:米);默认距离:0米
|
||||
xsbMinDistance.setDefaultValue(SettingUtils.locationMinDistance)
|
||||
xsbMinDistance.setOnSeekBarListener { _: XSeekBar?, newValue: Int ->
|
||||
SettingUtils.locationMinDistance = newValue
|
||||
restartLocationService()
|
||||
//TODO: MainActivity.kt 中压入 FragmentManager 时会导致定位服务重启,暂时注释掉
|
||||
//restartLocationService()
|
||||
}
|
||||
}
|
||||
|
||||
//重启定位服务
|
||||
private fun restartLocationService() {
|
||||
private fun restartLocationService(action: String = "RESTART") {
|
||||
Log.d(TAG, "restartLocationService, action: $action")
|
||||
val serviceIntent = Intent(requireContext(), LocationService::class.java)
|
||||
serviceIntent.action = "START"
|
||||
serviceIntent.action = action
|
||||
requireContext().startService(serviceIntent)
|
||||
}
|
||||
|
||||
|
|
|
@ -49,20 +49,22 @@ class LocationService : Service(), Server.ServerListener {
|
|||
}
|
||||
|
||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||
Log.i(TAG, "onStartCommand: ")
|
||||
if (intent != null) {
|
||||
when (intent.action) {
|
||||
"START" -> {
|
||||
startService()
|
||||
}
|
||||
super.onStartCommand(intent, flags, startId)
|
||||
|
||||
"STOP" -> {
|
||||
stopService()
|
||||
}
|
||||
}
|
||||
if (!SettingUtils.enableLocation || intent == null) return START_NOT_STICKY
|
||||
|
||||
Log.i(TAG, "onStartCommand: ${intent.action}")
|
||||
|
||||
if (intent.action == "START" && !isRunning) {
|
||||
startService()
|
||||
} else if (intent.action == "STOP" && isRunning) {
|
||||
stopService()
|
||||
} else if (intent.action == "RESTART") {
|
||||
stopService()
|
||||
startService()
|
||||
}
|
||||
|
||||
return super.onStartCommand(intent, flags, startId)
|
||||
return START_NOT_STICKY
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
|
|
@ -86,21 +86,23 @@ class ActionWorker(context: Context, params: WorkerParameters) : CoroutineWorker
|
|||
//TODO:取不到卡槽信息时,采用默认卡槽发送
|
||||
val mSubscriptionId: Int = App.SimInfoList[simSlotIndex]?.mSubscriptionId ?: -1
|
||||
|
||||
val msg = if (ActivityCompat.checkSelfPermission(App.context, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
|
||||
ResUtils.getString(R.string.no_sms_sending_permission)
|
||||
if (ActivityCompat.checkSelfPermission(App.context, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
|
||||
val msg = ResUtils.getString(R.string.no_sms_sending_permission)
|
||||
writeLog(msg, "ERROR")
|
||||
} else {
|
||||
PhoneUtils.sendSms(mSubscriptionId, smsSetting.phoneNumbers, smsSetting.msgContent)
|
||||
val msg = PhoneUtils.sendSms(mSubscriptionId, smsSetting.phoneNumbers, smsSetting.msgContent)
|
||||
successNum++
|
||||
writeLog("send sms result: $msg", "SUCCESS")
|
||||
}
|
||||
|
||||
writeLog("send sms result: $msg")
|
||||
}
|
||||
|
||||
TASK_ACTION_NOTIFICATION -> {
|
||||
val settingVo = Gson().fromJson(action.setting, Rule::class.java)
|
||||
//自动任务的不需要吐司或者更新日志,特殊处理 logId = -1,msgId = -1
|
||||
SendUtils.sendMsgSender(msgInfo, settingVo, 0, -1L, -1L)
|
||||
|
||||
successNum++
|
||||
writeLog("send notification success", "SUCCESS")
|
||||
}
|
||||
|
||||
TASK_ACTION_FRPC -> {
|
||||
|
@ -140,6 +142,9 @@ class ActionWorker(context: Context, params: WorkerParameters) : CoroutineWorker
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
successNum++
|
||||
writeLog("frpc success", "SUCCESS")
|
||||
}
|
||||
|
||||
TASK_ACTION_HTTPSERVER -> {
|
||||
|
@ -155,6 +160,9 @@ class ActionWorker(context: Context, params: WorkerParameters) : CoroutineWorker
|
|||
App.context.stopService(it)
|
||||
}
|
||||
}
|
||||
|
||||
successNum++
|
||||
writeLog("httpServer success", "SUCCESS")
|
||||
}
|
||||
|
||||
else -> {
|
||||
|
|
|
@ -345,14 +345,11 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
style="@style/settingBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@color/setting_bar_color"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingTop="10dp"
|
||||
tools:ignore="RtlSymmetry">
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -398,6 +395,11 @@
|
|||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?attr/xui_config_color_separator_light" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -486,7 +488,6 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/config_margin_10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
|
|
@ -1089,7 +1089,7 @@
|
|||
|
||||
<string name="enable_location">启用GPS定位功能</string>
|
||||
<string name="enable_location_dialog">必须开启定位服务,才能使用获取!\n是否立即启用?</string>
|
||||
<string name="enable_location_tips">用于支持 查找手机、{{定位信息}}标签 功能</string>
|
||||
<string name="enable_location_tips">用于支持 查找手机、{{定位信息}}标签 功能;设置项改变后需开关以生效</string>
|
||||
<string name="accuracy">位置精度</string>
|
||||
<string name="accuracy_fine">精确位置</string>
|
||||
<string name="accuracy_coarse">模糊位置</string>
|
||||
|
|
Loading…
Reference in New Issue