应用上报

This commit is contained in:
huangzhuanghua
2017-04-26 15:56:19 +08:00
parent 6a851f7247
commit cfa70feac5
15 changed files with 325 additions and 29 deletions

View File

@ -21,6 +21,8 @@ import com.readystatesoftware.systembartint.SystemBarTintManager;
import com.readystatesoftware.systembartint.SystemBarTintManager.SystemBarConfig;
import de.greenrobot.event.EventBus;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import static com.gh.common.util.EntranceUtils.KEY_DATA;
@ -59,10 +61,48 @@ public class BaseActivity extends Activity implements OnCallBackListener {
mTintManager = new SystemBarTintManager(this);
mTintManager.setStatusBarTintEnabled(true);
// mTintManager.setNavigationBarTintEnabled(true);
mTintManager.setStatusBarTintColor(Color.BLACK);
if (Build.MANUFACTURER.equals("Meizu") || Build.MANUFACTURER.equals("Xiaomi")) {
mTintManager.setStatusBarTintColor(Color.WHITE);
} else {
mTintManager.setStatusBarTintColor(Color.BLACK);
}
SystemBarConfig config = mTintManager.getConfig();
contentView.setPadding(0, config.getPixelInsetTop(false), 0,
config.getPixelInsetBottom());
if (Build.MANUFACTURER.equals("Meizu")) {
try {
Window window = getWindow();
if (window != null) {
WindowManager.LayoutParams lp = window.getAttributes();
Field darkFlag = WindowManager.LayoutParams.class.getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON");
Field meizuFlags = WindowManager.LayoutParams.class.getDeclaredField("meizuFlags");
darkFlag.setAccessible(true);
meizuFlags.setAccessible(true);
int bit = darkFlag.getInt(null);
int value = meizuFlags.getInt(lp);
value |= bit;
meizuFlags.setInt(lp, value);
window.setAttributes(lp);
}
} catch (Exception e) {
e.printStackTrace();
}
} else if (Build.MANUFACTURER.equals("Xiaomi")) {
try {
Window window = getWindow();
if (window != null) {
Class<?> clazz = window.getClass();
Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
int darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
extraFlagField.invoke(window, darkModeFlag, darkModeFlag);
}
} catch (Exception e){
e.printStackTrace();
}
}
}
setContentView(contentView);