mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
新增: {{PHONE_AREA}}
标签用于反查{{FROM}}
对应的归属地 #564
This commit is contained in:
parent
b733fc2d4c
commit
23acf01c61
@ -417,6 +417,7 @@ class App : Application(), CactusCallback, Configuration.Provider by Core {
|
|||||||
getString(R.string.tag_card_slot) to getString(R.string.insert_tag_card_slot),
|
getString(R.string.tag_card_slot) to getString(R.string.insert_tag_card_slot),
|
||||||
getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid),
|
getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid),
|
||||||
getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name),
|
getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name),
|
||||||
|
getString(R.string.tag_phone_area) to getString(R.string.insert_tag_phone_area),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
CALL_TAG_MAP.clear()
|
CALL_TAG_MAP.clear()
|
||||||
@ -428,6 +429,7 @@ class App : Application(), CactusCallback, Configuration.Provider by Core {
|
|||||||
getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid),
|
getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid),
|
||||||
getString(R.string.tag_call_type) to getString(R.string.insert_tag_call_type),
|
getString(R.string.tag_call_type) to getString(R.string.insert_tag_call_type),
|
||||||
getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name),
|
getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name),
|
||||||
|
getString(R.string.tag_phone_area) to getString(R.string.insert_tag_phone_area),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
APP_TAG_MAP.clear()
|
APP_TAG_MAP.clear()
|
||||||
|
@ -131,6 +131,7 @@ data class MsgInfo(
|
|||||||
.replaceAppNameTag(from, encoderName)
|
.replaceAppNameTag(from, encoderName)
|
||||||
.replaceLocationTag(encoderName)
|
.replaceLocationTag(encoderName)
|
||||||
.replaceContactNameTag(encoderName)
|
.replaceContactNameTag(encoderName)
|
||||||
|
.replacePhoneAreaTag(encoderName)
|
||||||
.regexReplace(regexReplace)
|
.regexReplace(regexReplace)
|
||||||
.trim()
|
.trim()
|
||||||
}
|
}
|
||||||
@ -201,6 +202,19 @@ data class MsgInfo(
|
|||||||
return this.replaceTag(getString(R.string.tag_contact_name), contactName)
|
return this.replaceTag(getString(R.string.tag_contact_name), contactName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//替换{{PHONE_AREA}}标签
|
||||||
|
private fun String.replacePhoneAreaTag(encoderName: String = ""): String {
|
||||||
|
if (TextUtils.isEmpty(this)) return this
|
||||||
|
if (this.indexOf(getString(R.string.tag_phone_area)) == -1) return this
|
||||||
|
|
||||||
|
var phoneArea = PhoneUtils.getPhoneArea(from)
|
||||||
|
when (encoderName) {
|
||||||
|
"Gson" -> phoneArea = toJsonStr(phoneArea)
|
||||||
|
"URLEncoder" -> phoneArea = URLEncoder.encode(phoneArea, "UTF-8")
|
||||||
|
}
|
||||||
|
return this.replaceTag(getString(R.string.tag_phone_area), phoneArea)
|
||||||
|
}
|
||||||
|
|
||||||
//替换{{APP名称}}标签
|
//替换{{APP名称}}标签
|
||||||
private fun String.replaceAppNameTag(packageName: String, encoderName: String = ""): String {
|
private fun String.replaceAppNameTag(packageName: String, encoderName: String = ""): String {
|
||||||
if (TextUtils.isEmpty(this)) return this
|
if (TextUtils.isEmpty(this)) return this
|
||||||
|
@ -29,6 +29,13 @@ import com.xuexiang.xutil.XUtil
|
|||||||
import com.xuexiang.xutil.app.IntentUtils
|
import com.xuexiang.xutil.app.IntentUtils
|
||||||
import com.xuexiang.xutil.data.DateUtils
|
import com.xuexiang.xutil.data.DateUtils
|
||||||
import com.xuexiang.xutil.resource.ResUtils.getString
|
import com.xuexiang.xutil.resource.ResUtils.getString
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import kotlinx.coroutines.runBlocking
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.Request
|
||||||
|
import org.json.JSONObject
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
@ -397,6 +404,41 @@ class PhoneUtils private constructor() {
|
|||||||
return contactInfoList
|
return contactInfoList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取号码归属地
|
||||||
|
fun getPhoneArea(phoneNumber: String): String {
|
||||||
|
val client = OkHttpClient()
|
||||||
|
val url = "https://cx.shouji.360.cn/phonearea.php?number=$phoneNumber"
|
||||||
|
val request = Request.Builder().url(url).build()
|
||||||
|
|
||||||
|
var result = getString(R.string.unknown_area) // 默认值
|
||||||
|
|
||||||
|
// 使用协程来执行网络请求
|
||||||
|
runBlocking {
|
||||||
|
val job = CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
try {
|
||||||
|
val response = client.newCall(request).execute()
|
||||||
|
if (response.isSuccessful) {
|
||||||
|
val responseData = response.body()?.string()
|
||||||
|
Log.i(TAG, "getPhoneArea: $responseData")
|
||||||
|
if (responseData != null) {
|
||||||
|
val jsonObject = JSONObject(responseData)
|
||||||
|
val data = jsonObject.getJSONObject("data")
|
||||||
|
val province = data.getString("province")
|
||||||
|
val city = data.getString("city")
|
||||||
|
val sp = data.getString("sp")
|
||||||
|
result = "$province $city $sp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
job.join() // 等待协程执行完毕
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
//获取联系人姓名
|
//获取联系人姓名
|
||||||
fun getContactByNumber(phoneNumber: String?): MutableList<ContactInfo> {
|
fun getContactByNumber(phoneNumber: String?): MutableList<ContactInfo> {
|
||||||
val contactInfoList = mutableListOf<ContactInfo>()
|
val contactInfoList = mutableListOf<ContactInfo>()
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
<string name="insert_tag_ip_list">IP List</string>
|
<string name="insert_tag_ip_list">IP List</string>
|
||||||
<string name="insert_tag_net_type">Network Status</string>
|
<string name="insert_tag_net_type">Network Status</string>
|
||||||
<string name="insert_tag_contact_name">Contact Name</string>
|
<string name="insert_tag_contact_name">Contact Name</string>
|
||||||
|
<string name="insert_tag_phone_area">Phone Area</string>
|
||||||
|
|
||||||
<string name="type_param_sms">Sms</string>
|
<string name="type_param_sms">Sms</string>
|
||||||
<string name="type_param_call">Call</string>
|
<string name="type_param_call">Call</string>
|
||||||
@ -350,6 +351,7 @@
|
|||||||
<string name="battery_setting">Battery Optimization</string>
|
<string name="battery_setting">Battery Optimization</string>
|
||||||
<string name="battery_setting_tips">Set it to manual management, including automatic startup, associated startup, and background running</string>
|
<string name="battery_setting_tips">Set it to manual management, including automatic startup, associated startup, and background running</string>
|
||||||
<string name="unknown_number">Unknown Number</string>
|
<string name="unknown_number">Unknown Number</string>
|
||||||
|
<string name="unknown_area">Unknown Area</string>
|
||||||
<string name="unsupport">Your phone does not support this setting</string>
|
<string name="unsupport">Your phone does not support this setting</string>
|
||||||
<string name="isIgnored">Set successfully!</string>
|
<string name="isIgnored">Set successfully!</string>
|
||||||
<string name="isIgnored2">Can not directly operate the system power saving optimization Settings</string>
|
<string name="isIgnored2">Can not directly operate the system power saving optimization Settings</string>
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
<string name="insert_tag_ip_list">IP地址列表</string>
|
<string name="insert_tag_ip_list">IP地址列表</string>
|
||||||
<string name="insert_tag_net_type">网络状态</string>
|
<string name="insert_tag_net_type">网络状态</string>
|
||||||
<string name="insert_tag_contact_name">来源姓名</string>
|
<string name="insert_tag_contact_name">来源姓名</string>
|
||||||
|
<string name="insert_tag_phone_area">来源归属</string>
|
||||||
|
|
||||||
<string name="type_param_sms">短信</string>
|
<string name="type_param_sms">短信</string>
|
||||||
<string name="type_param_call">通话</string>
|
<string name="type_param_call">通话</string>
|
||||||
@ -351,6 +352,7 @@
|
|||||||
<string name="battery_setting">忽略电池优化设置</string>
|
<string name="battery_setting">忽略电池优化设置</string>
|
||||||
<string name="battery_setting_tips">请设置为手动管理:允许自启动、允许关联启动、允许后台运行</string>
|
<string name="battery_setting_tips">请设置为手动管理:允许自启动、允许关联启动、允许后台运行</string>
|
||||||
<string name="unknown_number">未知号码</string>
|
<string name="unknown_number">未知号码</string>
|
||||||
|
<string name="unknown_area">未知归属地</string>
|
||||||
<string name="unsupport">您的手机不支持此设置</string>
|
<string name="unsupport">您的手机不支持此设置</string>
|
||||||
<string name="isIgnored">已将省电优化设置为无限制(不优化)!</string>
|
<string name="isIgnored">已将省电优化设置为无限制(不优化)!</string>
|
||||||
<string name="isIgnored2">本界面无法直接操作系统的省电优化设置</string>
|
<string name="isIgnored2">本界面无法直接操作系统的省电优化设置</string>
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
<string name="insert_tag_ip_list">IP地址列表</string>
|
<string name="insert_tag_ip_list">IP地址列表</string>
|
||||||
<string name="insert_tag_net_type">網路狀態</string>
|
<string name="insert_tag_net_type">網路狀態</string>
|
||||||
<string name="insert_tag_contact_name">來源姓名</string>
|
<string name="insert_tag_contact_name">來源姓名</string>
|
||||||
|
<string name="insert_tag_phone_area">来源歸屬</string>
|
||||||
|
|
||||||
<string name="type_param_sms">簡訊</string>
|
<string name="type_param_sms">簡訊</string>
|
||||||
<string name="type_param_call">通話</string>
|
<string name="type_param_call">通話</string>
|
||||||
@ -345,6 +346,7 @@
|
|||||||
<string name="battery_setting">忽略電池優化設置</string>
|
<string name="battery_setting">忽略電池優化設置</string>
|
||||||
<string name="battery_setting_tips">請設置為手動管理:允許自啟動、允許關聯啟動、允許後台運行</string>
|
<string name="battery_setting_tips">請設置為手動管理:允許自啟動、允許關聯啟動、允許後台運行</string>
|
||||||
<string name="unknown_number">未知號碼</string>
|
<string name="unknown_number">未知號碼</string>
|
||||||
|
<string name="unknown_area">未知歸屬地</string>
|
||||||
<string name="unsupport">您的手機不支持此設置</string>
|
<string name="unsupport">您的手機不支持此設置</string>
|
||||||
<string name="isIgnored">已將省電優化設置為無限制(不優化)!</string>
|
<string name="isIgnored">已將省電優化設置為無限制(不優化)!</string>
|
||||||
<string name="isIgnored2">本界面無法直接操作系統的省電優化設置</string>
|
<string name="isIgnored2">本界面無法直接操作系統的省電優化設置</string>
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
<string name="tag_ip_list" translatable="false">{{IP_LIST}}</string>
|
<string name="tag_ip_list" translatable="false">{{IP_LIST}}</string>
|
||||||
<string name="tag_net_type" translatable="false">{{NET_TYPE}}</string>
|
<string name="tag_net_type" translatable="false">{{NET_TYPE}}</string>
|
||||||
<string name="tag_contact_name" translatable="false">{{CONTACT_NAME}}</string>
|
<string name="tag_contact_name" translatable="false">{{CONTACT_NAME}}</string>
|
||||||
|
<string name="tag_phone_area" translatable="false">{{PHONE_AREA}}</string>
|
||||||
|
|
||||||
<string name="insert_tag_from">来源号码</string>
|
<string name="insert_tag_from">来源号码</string>
|
||||||
<string name="insert_tag_sms">短信内容</string>
|
<string name="insert_tag_sms">短信内容</string>
|
||||||
@ -56,6 +57,7 @@
|
|||||||
<string name="insert_tag_ip_list">IP地址列表</string>
|
<string name="insert_tag_ip_list">IP地址列表</string>
|
||||||
<string name="insert_tag_net_type">网络状态</string>
|
<string name="insert_tag_net_type">网络状态</string>
|
||||||
<string name="insert_tag_contact_name">来源姓名</string>
|
<string name="insert_tag_contact_name">来源姓名</string>
|
||||||
|
<string name="insert_tag_phone_area">来源归属</string>
|
||||||
|
|
||||||
<string name="type_param_sms">短信</string>
|
<string name="type_param_sms">短信</string>
|
||||||
<string name="type_param_call">通话</string>
|
<string name="type_param_call">通话</string>
|
||||||
@ -379,6 +381,7 @@
|
|||||||
<string name="battery_setting">忽略电池优化设置</string>
|
<string name="battery_setting">忽略电池优化设置</string>
|
||||||
<string name="battery_setting_tips">请设置为手动管理:允许自启动、允许关联启动、允许后台运行</string>
|
<string name="battery_setting_tips">请设置为手动管理:允许自启动、允许关联启动、允许后台运行</string>
|
||||||
<string name="unknown_number">未知号码</string>
|
<string name="unknown_number">未知号码</string>
|
||||||
|
<string name="unknown_area">未知归属地</string>
|
||||||
<string name="unsupport">您的手机不支持此设置</string>
|
<string name="unsupport">您的手机不支持此设置</string>
|
||||||
<string name="isIgnored">已将省电优化设置为无限制(不优化)!</string>
|
<string name="isIgnored">已将省电优化设置为无限制(不优化)!</string>
|
||||||
<string name="isIgnored2">本界面无法直接操作系统的省电优化设置</string>
|
<string name="isIgnored2">本界面无法直接操作系统的省电优化设置</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user