mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-02 17:07:41 +08:00
获取系统(ROM)类别及版本号,MIUI通知栏显示标题
This commit is contained in:
parent
31fc5132dd
commit
d6267c06ec
@ -80,6 +80,8 @@ Android手机监听短信并根据指定规则转发到其他手机、钉钉机
|
||||
|
||||
## 更新记录:
|
||||
|
||||
> [v1.1.2](app/release/SmsForwarder_release_20210218_1.1.2.apk) 获取系统(ROM)类别及版本号,MIUI通知栏显示标题
|
||||
|
||||
> [v1.1.1](app/release/SmsForwarder_release_20210215_1.1.1.apk) 更新应用/通知栏图标
|
||||
|
||||
> [v1.1.0](app/release/SmsForwarder_release_20210214_1.1.0.apk) 新增在线升级、缓存清理、加入QQ群功能
|
||||
|
@ -10,8 +10,8 @@ android {
|
||||
applicationId "com.idormy.sms.forwarder"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 28
|
||||
versionCode 3
|
||||
versionName "1.1.1"
|
||||
versionCode 4
|
||||
versionName "1.1.2"
|
||||
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
||||
}
|
||||
buildTypes {
|
||||
|
BIN
app/release/SmsForwarder_release_20210218_1.1.2.apk
Normal file
BIN
app/release/SmsForwarder_release_20210218_1.1.2.apk
Normal file
Binary file not shown.
@ -10,9 +10,9 @@
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"versionCode": 3,
|
||||
"versionName": "1.1.1",
|
||||
"outputFile": "SmsForwarder_release_20210215_1.1.1.apk"
|
||||
"versionCode": 4,
|
||||
"versionName": "1.1.2",
|
||||
"outputFile": "SmsForwarder_release_20210218_1.1.2.apk"
|
||||
}
|
||||
]
|
||||
}
|
@ -11,6 +11,8 @@ import android.util.Log;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.idormy.sms.forwarder.utils.OSUtils;
|
||||
|
||||
|
||||
public class FrontService extends Service {
|
||||
private static final String TAG = "FrontService";
|
||||
@ -23,7 +25,11 @@ public class FrontService extends Service {
|
||||
Log.i(TAG, "onCreate");
|
||||
Notification.Builder builder = new Notification.Builder(this);
|
||||
builder.setSmallIcon(R.drawable.ic_sms_forwarder);
|
||||
//builder.setContentTitle("短信转发器");
|
||||
OSUtils.ROM_TYPE romType = OSUtils.getRomType();
|
||||
//Log.d(TAG, "onCreate: " + romType);
|
||||
if (romType == OSUtils.ROM_TYPE.MIUI_ROM) {
|
||||
builder.setContentTitle("短信转发器");
|
||||
}
|
||||
builder.setContentText("根据规则转发到钉钉/微信/邮箱/bark/webhook等");
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity
|
||||
|
@ -0,0 +1,68 @@
|
||||
package com.idormy.sms.forwarder.utils;
|
||||
|
||||
import android.os.Environment;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
public class BuildProperties {
|
||||
private static BuildProperties ourInstance;
|
||||
|
||||
public static BuildProperties getInstance() throws IOException {
|
||||
if (ourInstance == null) ourInstance = new BuildProperties();
|
||||
return ourInstance;
|
||||
}
|
||||
|
||||
private final Properties properties;
|
||||
|
||||
private BuildProperties() throws IOException {
|
||||
properties = new Properties();
|
||||
properties.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));
|
||||
}
|
||||
|
||||
public boolean containsKey(final Object key) {
|
||||
return properties.containsKey(key);
|
||||
}
|
||||
|
||||
public boolean containsValue(final Object value) {
|
||||
return properties.containsValue(value);
|
||||
}
|
||||
|
||||
public String getProperty(final String name) {
|
||||
return properties.getProperty(name);
|
||||
}
|
||||
|
||||
public String getProperty(final String name, final String defaultValue) {
|
||||
return properties.getProperty(name, defaultValue);
|
||||
}
|
||||
|
||||
public Set<Map.Entry<Object, Object>> entrySet() {
|
||||
return properties.entrySet();
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return properties.isEmpty();
|
||||
}
|
||||
|
||||
public Enumeration keys() {
|
||||
return properties.keys();
|
||||
}
|
||||
|
||||
public Set keySet() {
|
||||
return properties.keySet();
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return properties.size();
|
||||
}
|
||||
|
||||
public Collection values() {
|
||||
return properties.values();
|
||||
}
|
||||
}
|
102
app/src/main/java/com/idormy/sms/forwarder/utils/OSUtils.java
Normal file
102
app/src/main/java/com/idormy/sms/forwarder/utils/OSUtils.java
Normal file
@ -0,0 +1,102 @@
|
||||
package com.idormy.sms.forwarder.utils;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 使用方法:
|
||||
* OSUtils.ROM_TYPE romType = OSUtils.getRomType();
|
||||
* 可能您需要对其他的ROM进行区分,那么只需三步:
|
||||
* 一:使用BuildProperties获取到所有的key,遍历获取到所有的value(getProperty),或者直接找到build.prop文件。
|
||||
* 二:找到定制ROM特征的标识(key/value)
|
||||
* 三:增加ROM_TYPE枚举类型,getRomType方法加入识别比对即可
|
||||
* 作者:YouAreMyShine
|
||||
* 链接:https://www.jianshu.com/p/bb1f765a425f
|
||||
*/
|
||||
public class OSUtils {
|
||||
public enum ROM_TYPE {
|
||||
MIUI_ROM,
|
||||
FLYME_ROM,
|
||||
EMUI_ROM,
|
||||
OTHER_ROM
|
||||
}
|
||||
|
||||
/**
|
||||
* MIUI ROM标识
|
||||
* <p>
|
||||
* "ro.miui.ui.version.code" -> "5"
|
||||
* <p>
|
||||
* "ro.miui.ui.version.name" -> "V7"
|
||||
* <p>
|
||||
* "ro.miui.has_handy_mode_sf" -> "1"
|
||||
* <p>
|
||||
* "ro.miui.has_real_blur" -> "1"
|
||||
* <p>
|
||||
* <p>
|
||||
* <p>
|
||||
* Flyme ROM标识
|
||||
* <p>
|
||||
* "ro.build.user" -> "flyme"
|
||||
* <p>
|
||||
* "persist.sys.use.flyme.icon" -> "true"
|
||||
* <p>
|
||||
* "ro.flyme.published" -> "true"
|
||||
* <p>
|
||||
* "ro.build.display.id" -> "Flyme OS 5.1.2.0U"
|
||||
* <p>
|
||||
* "ro.meizu.setupwizard.flyme" -> "true"
|
||||
* <p>
|
||||
* <p>
|
||||
* <p>
|
||||
* EMUI ROM标识
|
||||
* <p>
|
||||
* "ro.build.version.emui" -> "EmotionUI_1.6"
|
||||
*/
|
||||
|
||||
//MIUI标识
|
||||
private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";
|
||||
private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";
|
||||
|
||||
//EMUI标识
|
||||
private static final String KEY_EMUI_VERSION_CODE = "ro.build.version.emui";
|
||||
|
||||
//Flyme标识
|
||||
private static final String KEY_FLYME_ID_FALG_KEY = "ro.build.display.id";
|
||||
private static final String KEY_FLYME_ID_FALG_VALUE_KEYWORD = "Flyme";
|
||||
private static final String KEY_FLYME_ICON_FALG = "persist.sys.use.flyme.icon";
|
||||
private static final String KEY_FLYME_SETUP_FALG = "ro.meizu.setupwizard.flyme";
|
||||
private static final String KEY_FLYME_PUBLISH_FALG = "ro.flyme.published";
|
||||
|
||||
/**
|
||||
* @param
|
||||
* @return ROM_TYPE ROM类型的枚举
|
||||
* @datecreate at 2016/5/11 0011 9:46
|
||||
* @mehtodgetRomType
|
||||
* @description获取ROM类型,MIUI_ROM, *FLYME_ROM, * EMUI_ROM, * OTHER_ROM
|
||||
*/
|
||||
public static ROM_TYPE getRomType() {
|
||||
ROM_TYPE rom_type = ROM_TYPE.OTHER_ROM;
|
||||
try {
|
||||
BuildProperties buildProperties = BuildProperties.getInstance();
|
||||
if (buildProperties.containsKey(KEY_EMUI_VERSION_CODE)) {
|
||||
return ROM_TYPE.EMUI_ROM;
|
||||
}
|
||||
if (buildProperties.containsKey(KEY_MIUI_VERSION_CODE) || buildProperties.containsKey(KEY_MIUI_VERSION_NAME)) {
|
||||
return ROM_TYPE.MIUI_ROM;
|
||||
}
|
||||
if (buildProperties.containsKey(KEY_FLYME_ICON_FALG) || buildProperties.containsKey(KEY_FLYME_SETUP_FALG) || buildProperties.containsKey(KEY_FLYME_PUBLISH_FALG)) {
|
||||
return ROM_TYPE.FLYME_ROM;
|
||||
}
|
||||
if (buildProperties.containsKey(KEY_FLYME_ID_FALG_KEY)) {
|
||||
String romName = buildProperties.getProperty(KEY_FLYME_ID_FALG_KEY);
|
||||
if (!TextUtils.isEmpty(romName) && romName.contains(KEY_FLYME_ID_FALG_VALUE_KEYWORD)) {
|
||||
return ROM_TYPE.FLYME_ROM;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return rom_type;
|
||||
}
|
||||
}
|
BIN
psd/ic_launcher.psd
Normal file
BIN
psd/ic_launcher.psd
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user