mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
回退:{{通知Scheme}}
(英文系统{{SCHEME}}
)标签以获取应用通知的Scheme
#272 #276(无解,去除多余代码)
This commit is contained in:
parent
1ee0c12f42
commit
a4aade94c5
@ -78,18 +78,13 @@ data class MsgInfo(
|
|||||||
|
|
||||||
@SuppressLint("SimpleDateFormat")
|
@SuppressLint("SimpleDateFormat")
|
||||||
fun replaceTemplate(template: String, regexReplace: String, needJson: Boolean = false): String {
|
fun replaceTemplate(template: String, regexReplace: String, needJson: Boolean = false): String {
|
||||||
val splitSimInfo = simInfo.split("#####")
|
|
||||||
val title = splitSimInfo.getOrElse(0) { simInfo }
|
|
||||||
val scheme = splitSimInfo.getOrElse(1) { "" }
|
|
||||||
|
|
||||||
return template.replaceTag(getString(R.string.tag_from), from, needJson)
|
return template.replaceTag(getString(R.string.tag_from), from, needJson)
|
||||||
.replaceTag(getString(R.string.tag_package_name), from, needJson)
|
.replaceTag(getString(R.string.tag_package_name), from, needJson)
|
||||||
.replaceTag(getString(R.string.tag_sms), content, needJson)
|
.replaceTag(getString(R.string.tag_sms), content, needJson)
|
||||||
.replaceTag(getString(R.string.tag_msg), content, needJson)
|
.replaceTag(getString(R.string.tag_msg), content, needJson)
|
||||||
.replaceTag(getString(R.string.tag_card_slot), title, needJson)
|
.replaceTag(getString(R.string.tag_card_slot), simInfo, needJson)
|
||||||
.replaceTag(getString(R.string.tag_card_subid), subId.toString(), needJson)
|
.replaceTag(getString(R.string.tag_card_subid), subId.toString(), needJson)
|
||||||
.replaceTag(getString(R.string.tag_title), title, needJson)
|
.replaceTag(getString(R.string.tag_title), simInfo, needJson)
|
||||||
.replaceTag(getString(R.string.tag_scheme), scheme, needJson)
|
|
||||||
.replaceTag(getString(R.string.tag_uid), uid.toString(), needJson)
|
.replaceTag(getString(R.string.tag_uid), uid.toString(), needJson)
|
||||||
.replaceTag(getString(R.string.tag_receive_time), SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date), needJson)
|
.replaceTag(getString(R.string.tag_receive_time), SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date), needJson)
|
||||||
.replaceTag(getString(R.string.tag_current_time), SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date()), needJson)
|
.replaceTag(getString(R.string.tag_current_time), SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date()), needJson)
|
||||||
|
@ -143,12 +143,8 @@ class LogsFragment : BaseFragment<FragmentLogsBinding?>(), MsgPagingAdapter.OnIt
|
|||||||
detailStr.append(getString(R.string.from)).append(item.msg.from).append("\n\n")
|
detailStr.append(getString(R.string.from)).append(item.msg.from).append("\n\n")
|
||||||
if (!TextUtils.isEmpty(item.msg.simInfo)) {
|
if (!TextUtils.isEmpty(item.msg.simInfo)) {
|
||||||
if (item.msg.type == "app") {
|
if (item.msg.type == "app") {
|
||||||
val splitSimInfo = item.msg.simInfo.split("#####")
|
detailStr.append(getString(R.string.title)).append(item.msg.simInfo).append("\n\n")
|
||||||
val title = splitSimInfo.getOrElse(0) { item.msg.simInfo }
|
|
||||||
val scheme = splitSimInfo.getOrElse(1) { "" }
|
|
||||||
detailStr.append(getString(R.string.title)).append(title).append("\n\n")
|
|
||||||
detailStr.append(getString(R.string.msg)).append(item.msg.content).append("\n\n")
|
detailStr.append(getString(R.string.msg)).append(item.msg.content).append("\n\n")
|
||||||
if (!TextUtils.isEmpty(scheme) && scheme != "null") detailStr.append(getString(R.string.scheme)).append(scheme).append("\n\n")
|
|
||||||
} else {
|
} else {
|
||||||
detailStr.append(getString(R.string.msg)).append(item.msg.content).append("\n\n")
|
detailStr.append(getString(R.string.msg)).append(item.msg.content).append("\n\n")
|
||||||
detailStr.append(getString(R.string.slot)).append(item.msg.simInfo).append("\n\n")
|
detailStr.append(getString(R.string.slot)).append(item.msg.simInfo).append("\n\n")
|
||||||
|
@ -2,7 +2,6 @@ package com.idormy.sms.forwarder.service
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.service.notification.NotificationListenerService
|
import android.service.notification.NotificationListenerService
|
||||||
import android.service.notification.StatusBarNotification
|
import android.service.notification.StatusBarNotification
|
||||||
@ -82,43 +81,12 @@ class NotificationService : NotificationListenerService() {
|
|||||||
//自身通知跳过
|
//自身通知跳过
|
||||||
if (PACKAGE_NAME == sbn.packageName) return
|
if (PACKAGE_NAME == sbn.packageName) return
|
||||||
// 标题
|
// 标题
|
||||||
var title = extras["android.title"]?.toString() ?: ""
|
val title = extras["android.title"]?.toString() ?: ""
|
||||||
// 通知内容
|
// 通知内容
|
||||||
var text = extras["android.text"]?.toString() ?: ""
|
var text = extras["android.text"]?.toString() ?: ""
|
||||||
if (text.isEmpty() && notification.tickerText != null) {
|
if (text.isEmpty() && notification.tickerText != null) {
|
||||||
text = notification.tickerText.toString()
|
text = notification.tickerText.toString()
|
||||||
}
|
}
|
||||||
// TODO: 获取Scheme信息
|
|
||||||
val pendingIntent = notification.contentIntent
|
|
||||||
/*try {
|
|
||||||
val method = pendingIntent.javaClass.getDeclaredMethod("getIntent")
|
|
||||||
val intent = method.invoke(pendingIntent) as Intent
|
|
||||||
// 获取scheme
|
|
||||||
val scheme = intent.scheme
|
|
||||||
if (scheme != null) {
|
|
||||||
// 处理scheme信息
|
|
||||||
Log.d(TAG, "Scheme: $scheme")
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
// 处理异常
|
|
||||||
Log.e(TAG, "Failed to get scheme from PendingIntent", e)
|
|
||||||
}*/
|
|
||||||
try {
|
|
||||||
val creatorPackage = pendingIntent.creatorPackage
|
|
||||||
val appIntent = creatorPackage?.let { packageManager.getLaunchIntentForPackage(it) }
|
|
||||||
var scheme: String? = appIntent?.scheme
|
|
||||||
if (scheme == null) {
|
|
||||||
val uri: Uri? = appIntent?.data
|
|
||||||
scheme = uri?.scheme
|
|
||||||
}
|
|
||||||
Log.d(TAG, "from=$from, scheme=$scheme")
|
|
||||||
if (!TextUtils.isEmpty(scheme)) {
|
|
||||||
title += "#####$scheme"
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e.printStackTrace()
|
|
||||||
Log.e(TAG, "Failed to get scheme from PendingIntent", e)
|
|
||||||
}
|
|
||||||
|
|
||||||
//不处理空消息(标题跟内容都为空)
|
//不处理空消息(标题跟内容都为空)
|
||||||
if (TextUtils.isEmpty(title) && TextUtils.isEmpty(text)) return
|
if (TextUtils.isEmpty(title) && TextUtils.isEmpty(text)) return
|
||||||
|
@ -624,7 +624,6 @@
|
|||||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||||
<string name="tag_title">{{TITLE}}</string>
|
<string name="tag_title">{{TITLE}}</string>
|
||||||
<string name="tag_scheme">{{SCHEME}}</string>
|
|
||||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||||
<string name="tag_location">{{LOCATION}}</string>
|
<string name="tag_location">{{LOCATION}}</string>
|
||||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||||
|
@ -625,7 +625,6 @@
|
|||||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||||
<string name="tag_title">{{TITLE}}</string>
|
<string name="tag_title">{{TITLE}}</string>
|
||||||
<string name="tag_scheme">{{SCHEME}}</string>
|
|
||||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||||
<string name="tag_location">{{LOCATION}}</string>
|
<string name="tag_location">{{LOCATION}}</string>
|
||||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||||
|
@ -625,7 +625,6 @@
|
|||||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||||
<string name="tag_title">{{TITLE}}</string>
|
<string name="tag_title">{{TITLE}}</string>
|
||||||
<string name="tag_scheme">{{SCHEME}}</string>
|
|
||||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||||
<string name="tag_location">{{LOCATION}}</string>
|
<string name="tag_location">{{LOCATION}}</string>
|
||||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||||
|
@ -625,7 +625,6 @@
|
|||||||
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
<string name="tag_device_name">{{DEVICE_NAME}}</string>
|
||||||
<string name="tag_app_version">{{APP_VERSION}}</string>
|
<string name="tag_app_version">{{APP_VERSION}}</string>
|
||||||
<string name="tag_title">{{TITLE}}</string>
|
<string name="tag_title">{{TITLE}}</string>
|
||||||
<string name="tag_scheme">{{SCHEME}}</string>
|
|
||||||
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
<string name="tag_call_type">{{CALL_TYPE}}</string>
|
||||||
<string name="tag_location">{{LOCATION}}</string>
|
<string name="tag_location">{{LOCATION}}</string>
|
||||||
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
<string name="tag_location_longitude">{{LOCATION_LONGITUDE}}</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user