1、短信模板增加卡槽标识(SIM-0_中国联通_Unknown 或 SIM-1_中国移动_+8615866666666)

2、转发日志详情增加卡槽标识(SIM1 或 SIM2)
This commit is contained in:
pppscn 2021-03-02 17:39:54 +08:00
parent 01229af3fb
commit 0ffb81ba9e
15 changed files with 136 additions and 49 deletions

3
.gitignore vendored
View File

@ -9,4 +9,5 @@ local.properties
*.classpath *.classpath
*/*.classpath */*.classpath
.settings/* .settings/*
*/.settings/* */.settings/*
/app/pppscn.jks

View File

@ -45,6 +45,7 @@ Android手机监听短信并根据指定规则转发到其他手机、钉钉机
- [x] 在线检测新版本、升级 - [x] 在线检测新版本、升级
- [x] 清理缓存 - [x] 清理缓存
- [x] 兼容6.xx、7.xx、8.xx、9.xx、10.xx - [x] 兼容6.xx、7.xx、8.xx、9.xx、10.xx
- [x] 支持双卡手机,增加卡槽标识/运营商/手机号(如果能获取的话)
### 使用流程: ### 使用流程:
1. 在Android手机上安装SmsForwarder 本APP后点击应用图标打开 1. 在Android手机上安装SmsForwarder 本APP后点击应用图标打开
@ -72,13 +73,15 @@ Android手机监听短信并根据指定规则转发到其他手机、钉钉机
| ![添加编辑发送方邮箱](pic/sendersetemail.png "添加编辑发送方邮箱") | ![添加编辑发送方Bark](pic/sendersetbark.png "添加编辑发送方Bark") | | ![添加编辑发送方邮箱](pic/sendersetemail.png "添加编辑发送方邮箱") | ![添加编辑发送方Bark](pic/sendersetbark.png "添加编辑发送方Bark") |
| ![添加编辑发送方网页通知](pic/sendersetwebnotify.png "添加编辑发送方网页通知") | ![添加编辑发送方企业微信群机器人](pic/sendersetqywechat.png "添加编辑发送方企业微信群机器人") | | ![添加编辑发送方网页通知](pic/sendersetwebnotify.png "添加编辑发送方网页通知") | ![添加编辑发送方企业微信群机器人](pic/sendersetqywechat.png "添加编辑发送方企业微信群机器人") |
| ![状态栏运行状态](pic/taskbar.png "状态栏运行状态") | ![应用设置](pic/setting.png "应用设置") | | ![状态栏运行状态](pic/taskbar.png "状态栏运行状态") | ![应用设置](pic/setting.png "应用设置") |
| ![在线升级](pic/update.png "在线升级") | | | ![在线升级](pic/update.png "在线升级") | ![转发日志详情增加卡槽标识](pic/siminfo.png "转发日志详情增加卡槽标识") |
-------- --------
## 更新记录: ## 更新记录:
> [v1.2.2](app/release/SmsForwarder_release_20210302_1.2.2.apk) 【预发布】短信模板增加卡槽标识SIM1188xxxxxxxx 或 SIMxunknown > [v1.2.3](app/release/SmsForwarder_release_20210302_1.2.3.apk) 转发日志详情增加卡槽标识SIM1 或 SIM2
> [v1.2.2](app/release/SmsForwarder_release_20210302_1.2.2.apk) 短信模板增加卡槽标识SIM-0_中国联通_Unknown 或 SIM-1_中国移动_+8615866666666
> [v1.2.1](app/release/SmsForwarder_release_20210226_1.2.1.apk) 修复bark-server升级到2.0后的兼容性问题 > [v1.2.1](app/release/SmsForwarder_release_20210226_1.2.1.apk) 修复bark-server升级到2.0后的兼容性问题

View File

@ -14,14 +14,28 @@ android {
applicationId "com.idormy.sms.forwarder" applicationId "com.idormy.sms.forwarder"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 28 targetSdkVersion 28
versionCode 8 versionCode 9
versionName "1.2.2" versionName "1.2.3"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
} }
signingConfigs {
// C:\Users\<Username>\.gradle\gradle.properties
release {
storeFile file(RELEASE_STORE_FILE)
keyAlias RELEASE_KEY_ALIAS
storePassword RELEASE_KEY_PASSWORD
keyPassword RELEASE_STORE_PASSWORD
}
}
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.release
} }
} }
buildToolsVersion '29.0.2' buildToolsVersion '29.0.2'

Binary file not shown.

View File

@ -10,9 +10,9 @@
{ {
"type": "SINGLE", "type": "SINGLE",
"filters": [], "filters": [],
"versionCode": 8, "versionCode": 9,
"versionName": "1.2.2", "versionName": "1.2.3",
"outputFile": "SmsForwarder_release_20210302_1.2.2.apk" "outputFile": "SmsForwarder_release_20210302_1.2.3.apk"
} }
] ]
} }

View File

@ -23,6 +23,7 @@ public class SmsForwarderBroadcastReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
String receiveAction = intent.getAction(); String receiveAction = intent.getAction();
Log.d(TAG, "onReceive intent " + receiveAction); Log.d(TAG, "onReceive intent " + receiveAction);
if (receiveAction.equals("android.provider.Telephony.SMS_RECEIVED")) { if (receiveAction.equals("android.provider.Telephony.SMS_RECEIVED")) {
@ -33,15 +34,10 @@ public class SmsForwarderBroadcastReceiver extends BroadcastReceiver {
if (object != null) { if (object != null) {
//获取接收手机号 //获取接收手机号
String phoneNumber; String simInfoId = String.valueOf(capturedSimSlot(extras));
int solt = capturedSimSlot(extras); Log.d("SIM_SLOT", " Slot Number " + simInfoId);
Log.d("SIM_SLOT", " Slot Number " + solt); Map<String, String> sim = MyApplication.SimInfo.get(simInfoId);
if (solt == 1) { String phoneNumber = "SIM-" + sim.get("sim_id") + "_" + sim.get("carrier_name") + "_" + sim.get("phone_number");
MyApplication appContext = (MyApplication) context.getApplicationContext();
phoneNumber = "SIM1" + appContext.getLine1Number();
} else {
phoneNumber = "SIM" + solt + "unknown";
}
List<SmsVo> smsVoList = new ArrayList<>(); List<SmsVo> smsVoList = new ArrayList<>();
String format = intent.getStringExtra("format"); String format = intent.getStringExtra("format");
@ -80,14 +76,16 @@ public class SmsForwarderBroadcastReceiver extends BroadcastReceiver {
} }
public int capturedSimSlot(Bundle bundle) { //获取卡槽ID
private int capturedSimSlot(Bundle bundle) {
int whichSIM = -1; int whichSIM = -1;
if (bundle.containsKey("subscription")) { if (bundle.containsKey("subscription")) {
whichSIM = bundle.getInt("subscription"); whichSIM = bundle.getInt("subscription");
} }
if (whichSIM >= 0 && whichSIM < 5) { if (whichSIM >= 0 && whichSIM < 5) {
/*In some device Subscription id is return as subscriber id*/ /*In some device Subscription id is return as subscriber id*/
return 1; //TODO不确定能不能直接返回
return whichSIM;
} }
if (bundle.containsKey("simId")) { if (bundle.containsKey("simId")) {
@ -106,4 +104,5 @@ public class SmsForwarderBroadcastReceiver extends BroadcastReceiver {
} }
return whichSIM; return whichSIM;
} }
} }

View File

@ -1,11 +1,14 @@
package com.idormy.sms.forwarder; package com.idormy.sms.forwarder;
import android.Manifest; import android.Manifest;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@ -22,15 +25,14 @@ import androidx.core.app.ActivityCompat;
import com.idormy.sms.forwarder.BroadCastReceiver.SmsForwarderBroadcastReceiver; import com.idormy.sms.forwarder.BroadCastReceiver.SmsForwarderBroadcastReceiver;
import com.idormy.sms.forwarder.adapter.LogAdapter; import com.idormy.sms.forwarder.adapter.LogAdapter;
import com.idormy.sms.forwarder.model.LogModel;
import com.idormy.sms.forwarder.model.vo.LogVo; import com.idormy.sms.forwarder.model.vo.LogVo;
import com.idormy.sms.forwarder.utils.LogUtil; import com.idormy.sms.forwarder.utils.LogUtil;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity implements ReFlashListView.IReflashListener { public class MainActivity extends AppCompatActivity implements ReFlashListView.IReflashListener {
@ -41,6 +43,8 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I
private List<LogVo> logVos = new ArrayList<>(); private List<LogVo> logVos = new ArrayList<>();
private LogAdapter adapter; private LogAdapter adapter;
private ReFlashListView listView; private ReFlashListView listView;
//SIM卡信息
//private Map<String, Map> SimInfo = new HashMap();
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -65,12 +69,15 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I
//检查权限是否获取 //检查权限是否获取
checkPermission(); checkPermission();
//获取本机号码 //获取本机号码(注意这里获取的不一定是卡槽1的)
TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String Line1Number = mTelephonyMgr.getLine1Number(); String Line1Number = mTelephonyMgr.getLine1Number();
Log.d(TAG, "Line1Number: " + Line1Number); Log.d(TAG, "Line1Number: " + Line1Number);
MyApplication appContext = ((MyApplication) getApplicationContext());
appContext.setLine1Number(Line1Number); //获取SIM卡信息
getSimInfo(Line1Number);
//MyApplication appContext = ((MyApplication) getApplicationContext());
//appContext.setSimInfo(SimInfo);
} }
// 初始化数据 // 初始化数据
@ -121,7 +128,12 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I
public void logDetail(LogVo logVo) { public void logDetail(LogVo logVo) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("详情"); builder.setTitle("详情");
builder.setMessage(logVo.getFrom() + "\n\n" + logVo.getContent() + "\n\n" + logVo.getRule() + "\n\n" + logVo.getTime()); String simInfo = logVo.getSimInfo();
if (simInfo != null) {
builder.setMessage(logVo.getFrom() + "\n\n" + logVo.getContent() + "\n\n" + logVo.getSimInfo() + "\n\n" + logVo.getRule() + "\n\n" + logVo.getTime());
} else {
builder.setMessage(logVo.getFrom() + "\n\n" + logVo.getContent() + "\n\n" + logVo.getRule() + "\n\n" + logVo.getTime());
}
builder.show(); builder.show();
} }
@ -158,14 +170,6 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I
} }
public void addLog(View view) {
Log.d(TAG, "refreshLog");
LogModel newModel = new LogModel("199999", "content" + (new SimpleDateFormat("YYYY-MM-dd HH:mm:ss").format(new Date())), 1l);
LogUtil.addLog(newModel);
// initTLogs();
// adapter.add(logVos);
}
//按返回键不退出回到桌面 //按返回键不退出回到桌面
@Override @Override
public void onBackPressed() { public void onBackPressed() {
@ -225,4 +229,33 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I
MobclickAgent.onPause(this); MobclickAgent.onPause(this);
} }
//获取SIM卡信息
private void getSimInfo(String Line1Number) {
Uri uri = Uri.parse("content://telephony/siminfo"); //访问raw_contacts表
MyApplication appContext = ((MyApplication) getApplicationContext());
ContentResolver resolver = appContext.getContentResolver();
Cursor cursor = resolver.query(uri, new String[]{"_id", "icc_id", "sim_id", "display_name", "carrier_name", "name_source", "color", "number", "display_number_format", "data_roaming", "mcc", "mnc"}, "sim_id >= 0", null, "_id");
if (cursor != null) {
while (cursor.moveToNext()) {
Log.d(TAG, "_id: " + cursor.getString(cursor.getColumnIndex("_id")));
Log.d(TAG, "sim_id: " + cursor.getString(cursor.getColumnIndex("sim_id")));
Log.d(TAG, "carrier_name: " + cursor.getString(cursor.getColumnIndex("carrier_name")));
Log.d(TAG, "display_name: " + cursor.getString(cursor.getColumnIndex("display_name")));
Map<String, String> sim = new HashMap();
String id = cursor.getString(cursor.getColumnIndex("_id"));
sim.put("_id", id);
sim.put("sim_id", cursor.getString(cursor.getColumnIndex("sim_id")));
sim.put("carrier_name", cursor.getString(cursor.getColumnIndex("carrier_name")));
sim.put("display_name", cursor.getString(cursor.getColumnIndex("display_name")));
sim.put("phone_number", Line1Number);
if (Line1Number != "Unknown") {
Line1Number = "Unknown";
}
MyApplication.SimInfo.put(id, sim);
}
cursor.close();
Log.d(TAG, String.valueOf(MyApplication.SimInfo.get("2").get("sim_id")));
}
}
} }

View File

@ -15,9 +15,13 @@ import com.smailnet.emailkit.EmailKit;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure; import com.umeng.commonsdk.UMConfigure;
import java.util.HashMap;
import java.util.Map;
public class MyApplication extends Application { public class MyApplication extends Application {
private static final String TAG = "MyApplication"; private static final String TAG = "MyApplication";
private String Line1Number; //SIM卡信息
public static Map<String, Map> SimInfo = new HashMap();
/** /**
* <meta-data * <meta-data
@ -55,12 +59,12 @@ public class MyApplication extends Application {
return channelName; return channelName;
} }
public String getLine1Number() { public Map<String, Map> getSimInfo() {
return Line1Number; return SimInfo;
} }
public void setLine1Number(String s) { public void setSimInfo(Map<String, Map> info) {
Line1Number = s; SimInfo = info;
} }
@Override @Override

View File

@ -5,10 +5,12 @@ public class LogModel {
private String content; private String content;
private Long ruleId; private Long ruleId;
private Long time; private Long time;
private String simInfo;
public LogModel(String from, String content, Long ruleId) { public LogModel(String from, String content, String simInfo, Long ruleId) {
this.from = from; this.from = from;
this.content = content; this.content = content;
this.simInfo = simInfo;
this.ruleId = ruleId; this.ruleId = ruleId;
} }
@ -28,6 +30,14 @@ public class LogModel {
this.content = content; this.content = content;
} }
public String getSimInfo() {
return simInfo;
}
public void setSimInfo(String simInfo) {
this.simInfo = simInfo;
}
public Long getRuleId() { public Long getRuleId() {
return ruleId; return ruleId;
} }
@ -40,11 +50,16 @@ public class LogModel {
return time; return time;
} }
public void setTime(Long time) {
this.time = time;
}
@Override @Override
public String toString() { public String toString() {
return "LogModel{" + return "LogModel{" +
"from='" + from + '\'' + "from='" + from + '\'' +
", content='" + content + '\'' + ", content='" + content + '\'' +
", simInfo=" + simInfo +
", ruleId=" + ruleId + ", ruleId=" + ruleId +
", time=" + time + ", time=" + time +
'}'; '}';

View File

@ -15,5 +15,6 @@ public final class LogTable {
public static final String COLUMN_NAME_CONTENT = "content"; public static final String COLUMN_NAME_CONTENT = "content";
public static final String COLUMN_NAME_RULE_ID = "rule_id"; public static final String COLUMN_NAME_RULE_ID = "rule_id";
public static final String COLUMN_NAME_TIME = "time"; public static final String COLUMN_NAME_TIME = "time";
public static final String COLUMN_NAME_SIM_INFO = "sim_info";
} }
} }

View File

@ -3,13 +3,15 @@ package com.idormy.sms.forwarder.model.vo;
public class LogVo { public class LogVo {
private String from; private String from;
private String content; private String content;
private String simInfo;
private String rule; private String rule;
private int senderImageId; private int senderImageId;
private String time; private String time;
public LogVo(String from, String content, String time, String rule, int senderImageId) { public LogVo(String from, String content, String simInfo, String time, String rule, int senderImageId) {
this.from = from; this.from = from;
this.content = content; this.content = content;
this.simInfo = simInfo;
this.time = time; this.time = time;
this.rule = rule; this.rule = rule;
this.senderImageId = senderImageId; this.senderImageId = senderImageId;
@ -35,6 +37,14 @@ public class LogVo {
this.content = content; this.content = content;
} }
public String getSimInfo() {
return simInfo;
}
public void setSimInfo(String simInfo) {
this.simInfo = simInfo;
}
public String getRule() { public String getRule() {
return rule; return rule;
} }

View File

@ -15,7 +15,7 @@ import java.util.List;
public class DbHelper extends SQLiteOpenHelper { public class DbHelper extends SQLiteOpenHelper {
// If you change the database schema, you must increment the database version. // If you change the database schema, you must increment the database version.
public static final String TAG = "DbHelper"; public static final String TAG = "DbHelper";
public static final int DATABASE_VERSION = 1; public static final int DATABASE_VERSION = 2;
public static final String DATABASE_NAME = "sms_forwarder.db"; public static final String DATABASE_NAME = "sms_forwarder.db";
private static final List<String> SQL_CREATE_ENTRIES = private static final List<String> SQL_CREATE_ENTRIES =
@ -24,6 +24,7 @@ public class DbHelper extends SQLiteOpenHelper {
LogTable.LogEntry._ID + " INTEGER PRIMARY KEY," + LogTable.LogEntry._ID + " INTEGER PRIMARY KEY," +
LogTable.LogEntry.COLUMN_NAME_FROM + " TEXT," + LogTable.LogEntry.COLUMN_NAME_FROM + " TEXT," +
LogTable.LogEntry.COLUMN_NAME_CONTENT + " TEXT," + LogTable.LogEntry.COLUMN_NAME_CONTENT + " TEXT," +
LogTable.LogEntry.COLUMN_NAME_SIM_INFO + " TEXT," +
LogTable.LogEntry.COLUMN_NAME_RULE_ID + " INTEGER," + LogTable.LogEntry.COLUMN_NAME_RULE_ID + " INTEGER," +
LogTable.LogEntry.COLUMN_NAME_TIME + " TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)" LogTable.LogEntry.COLUMN_NAME_TIME + " TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)"
, "CREATE TABLE " + RuleTable.RuleEntry.TABLE_NAME + " (" + , "CREATE TABLE " + RuleTable.RuleEntry.TABLE_NAME + " (" +
@ -74,8 +75,12 @@ public class DbHelper extends SQLiteOpenHelper {
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// This database is only a cache for online data, so its upgrade policy is // This database is only a cache for online data, so its upgrade policy is
// to simply to discard the data and start over // to simply to discard the data and start over
delCreateTable(db); //delCreateTable(db);
onCreate(db); //onCreate(db);
if (oldVersion < 2) { //当数据库版本小于版本2时
String sql = "Alter table " + LogTable.LogEntry.TABLE_NAME + " add column " + LogTable.LogEntry.COLUMN_NAME_SIM_INFO + " TEXT ";
db.execSQL(sql);
}
} }
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) { public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {

View File

@ -48,6 +48,7 @@ public class LogUtil {
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
values.put(LogTable.LogEntry.COLUMN_NAME_FROM, logModel.getFrom()); values.put(LogTable.LogEntry.COLUMN_NAME_FROM, logModel.getFrom());
values.put(LogTable.LogEntry.COLUMN_NAME_CONTENT, logModel.getContent()); values.put(LogTable.LogEntry.COLUMN_NAME_CONTENT, logModel.getContent());
values.put(LogTable.LogEntry.COLUMN_NAME_SIM_INFO, logModel.getSimInfo());
values.put(LogTable.LogEntry.COLUMN_NAME_RULE_ID, logModel.getRuleId()); values.put(LogTable.LogEntry.COLUMN_NAME_RULE_ID, logModel.getRuleId());
// Insert the new row, returning the primary key value of the new row // Insert the new row, returning the primary key value of the new row
@ -89,6 +90,7 @@ public class LogUtil {
LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_FROM + " AS " + LogTable.LogEntry.COLUMN_NAME_FROM, LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_FROM + " AS " + LogTable.LogEntry.COLUMN_NAME_FROM,
LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_TIME + " AS " + LogTable.LogEntry.COLUMN_NAME_TIME, LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_TIME + " AS " + LogTable.LogEntry.COLUMN_NAME_TIME,
LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_CONTENT + " AS " + LogTable.LogEntry.COLUMN_NAME_CONTENT, LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_CONTENT + " AS " + LogTable.LogEntry.COLUMN_NAME_CONTENT,
LogTable.LogEntry.TABLE_NAME + "." + LogTable.LogEntry.COLUMN_NAME_SIM_INFO + " AS " + LogTable.LogEntry.COLUMN_NAME_SIM_INFO,
RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_FILED + " AS " + RuleTable.RuleEntry.COLUMN_NAME_FILED, RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_FILED + " AS " + RuleTable.RuleEntry.COLUMN_NAME_FILED,
RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_CHECK + " AS " + RuleTable.RuleEntry.COLUMN_NAME_CHECK, RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_CHECK + " AS " + RuleTable.RuleEntry.COLUMN_NAME_CHECK,
RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_VALUE + " AS " + RuleTable.RuleEntry.COLUMN_NAME_VALUE, RuleTable.RuleEntry.TABLE_NAME + "." + RuleTable.RuleEntry.COLUMN_NAME_VALUE + " AS " + RuleTable.RuleEntry.COLUMN_NAME_VALUE,
@ -143,6 +145,8 @@ public class LogUtil {
cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_FROM)); cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_FROM));
String content = cursor.getString( String content = cursor.getString(
cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_CONTENT)); cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_CONTENT));
String simInfo = cursor.getString(
cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_SIM_INFO));
String time = cursor.getString( String time = cursor.getString(
cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_TIME)); cursor.getColumnIndexOrThrow(LogTable.LogEntry.COLUMN_NAME_TIME));
String ruleFiled = cursor.getString( String ruleFiled = cursor.getString(
@ -158,10 +162,9 @@ public class LogUtil {
Log.d(TAG, "getLog: time" + time); Log.d(TAG, "getLog: time" + time);
String rule = RuleModel.getRuleMatch(ruleFiled, ruleCheck, ruleValue) + senderName; String rule = RuleModel.getRuleMatch(ruleFiled, ruleCheck, ruleValue) + senderName;
// String rule = time+" 转发到 "+senderName;
int senderImageId = SenderModel.getImageId(senderType);
LogVo logVo = new LogVo(itemfrom, content, time, rule, senderImageId);
int senderImageId = SenderModel.getImageId(senderType);
LogVo logVo = new LogVo(itemfrom, content, simInfo, time, rule, senderImageId);
LogVos.add(logVo); LogVos.add(logVo);
} catch (Exception e) { } catch (Exception e) {
Log.i(TAG, "getLog e:" + e.getMessage()); Log.i(TAG, "getLog e:" + e.getMessage());
@ -169,7 +172,6 @@ public class LogUtil {
} }
cursor.close(); cursor.close();
return LogVos; return LogVos;

View File

@ -138,7 +138,7 @@ public class SendUtil {
List<SenderModel> senderModels = SenderUtil.getSender(ruleModel.getSenderId(), null); List<SenderModel> senderModels = SenderUtil.getSender(ruleModel.getSenderId(), null);
for (SenderModel senderModel : senderModels for (SenderModel senderModel : senderModels
) { ) {
LogUtil.addLog(new LogModel(smsVo.getMobile(), smsVo.getContent(), senderModel.getId())); LogUtil.addLog(new LogModel(smsVo.getMobile(), smsVo.getContent(), smsVo.getPhoneNumber(), senderModel.getId()));
SendUtil.senderSendMsg(smsVo, senderModel); SendUtil.senderSendMsg(smsVo, senderModel);
} }
} }

BIN
pic/siminfo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB