Application工具方法

//注册这个接口

registerActivityLifecycleCallbacks(activityLifecycleCallbacks);

}

@Override

public void onTerminate() {

//注销这个接口。

unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);

super.onTerminate();

}

public static List<Activity> activitys = new ArrayList<>();

public static Activity showActivitys;

private ActivityLifecycleCallbacks activityLifecycleCallbacks = new ActivityLifecycleCallbacks() {

@Override

public void onActivityCreated(Activity activity, Bundle savedInstanceState) {

activitys.add(activity);

}

@Override

public void onActivityDestroyed(Activity activity) {

activitys.remove(activity);

}

@Override

public void onActivityStarted(Activity activity) {

}

@Override

public void onActivityResumed(Activity activity) {

showActivitys = activity;

LgqLogPlus.e("当前打开的页面为:"+activity.getClass().getSimpleName());

}

@Override

public void onActivityPaused(Activity activity) {

}

@Override

public void onActivityStopped(Activity activity) {

}

@Override

public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

}

};

}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

public class LgqLogPlus {

private static int sCurrentLogLevel = Log.DEBUG;

private static String sPrefix = null;

@IntDef({ Log.VERBOSE, Log.DEBUG, Log.INFO, Log.WARN, Log.ERROR })

@Retention(RetentionPolicy.SOURCE)

public @interface LogLevel {

}

/**

* 初始化LogPlus,可选

*

* @param prefix Tag前缀,可以防止 RIL,IMS,AT,GSM,STK,CDMA,SMS 开头的log不会被打印

* @param logLevel 打log等级

*/

public static void init(String prefix, @LogLevel int logLevel) {

if (prefix != null) {

prefix = prefix.trim();

if (prefix.length() > 0) {

sPrefix = prefix;

}

}

sCurrentLogLevel = logLevel;

}

public static void v(@Nullable String tag, String msg, @Nullable Throwable tr) {

log(Log.VERBOSE, tag, msg, tr);

}

public static void v(@Nullable String tag, String msg) {

log(Log.VERBOSE, tag, msg, null);

}

public static void v(String msg, @Nullable Throwable tr) {

log(Log.VERBOSE, null, msg, tr);

}

public static void v(String msg) {

log(Log.VERBOSE, null, msg, null);

}

public static void d(@Nullable String tag, String msg, @Nullable Throwable tr) {

log(Log.DEBUG, tag, msg, tr);

}

public static void d(@Nullable String tag, String msg) {

log(Log.DEBUG, "lgq---------"+tag, msg, null);

}

public static void d(String msg, @Nullable Throwable tr) {

log(Log.DEBUG, null, msg, tr);

}

public static void d(String msg) {

log(Log.DEBUG, null, "lgq---dcg------"+msg, null);

}

public static void i(@Nullable String tag, String msg, @Nullable Throwable tr) {

log(Log.INFO, tag, msg, tr);

}

public static void i(@Nullable String tag, String msg) {

log(Log.INFO, tag, msg, null);

}

public static void i(String msg, @Nullable Throwable tr) {

log(Log.INFO, null, msg, tr);

}

public static void i(String msg) {

log(Log.INFO, null, "lgq---dcgiii------"+msg, null);

// log(Log.INFO, null, msg, null);

}

public static void w(@Nullable String tag, String msg, @Nullable Throwable tr) {

log(Log.WARN, tag, msg, tr);

}

public static void w(@Nullable String tag, String msg) {

log(Log.WARN, tag, msg, null);

}

public static void w(String msg, @Nullable Throwable tr) {

log(Log.WARN, null, msg, tr);

}

public static void w(String msg) {

log(Log.WARN, null, msg, null);

}

public static void e(@Nullable String tag, String msg, @Nullable Throwable tr) {

log(Log.ERROR, tag, msg, tr);

}

public static void e(@Nullable String tag, String msg) {

log(Log.ERROR, tag, msg, null);

}

public static void e(String msg, @Nullable Throwable tr) {

log(Log.ERROR, null, msg, tr);

}

public static void e(String msg) {

log(Log.ERROR, null, "lgq---dcg错误------"+msg, null);

}

private static void log(int logLevel, String tag, String msg, Throwable tr) {

if (logLevel < sCurrentLogLevel) {

return;

}

StackTraceElement e = Thread.currentThread().getStackTrace()[4];

String fileName = e.getFileName();

int lineNum = e.getLineNumber();

String methodName = e.getMethodName();

StringBuilder sb = new StringBuilder();

sb.append(methodName)

.append('(')

.append(fileName)

.append(':')

.append(lineNum)

.append(')')

.append(msg);

msg = sb.toString();

sb.delete(0, sb.length());

// 注意,如果tag是"IMS"开头的(还有其他),log会不打印,所以加个"前缀_"

// 参考这里 http://stackoverflow.com/a/36469141/5324526

if (sPrefix != null) {

sb.append(sPrefix).append('_');

}

if (tag == null || tag.length() == 0 || tag.trim().length() == 0) {

String className = e.getClassName();

int index = className.lastIndexOf('.') + 1;

sb.append(className, index, className.length());

} else {

sb.append(tag);

}

tag = sb.toString();

if (tr == null) {

switch (logLevel) {

case Log.VERBOSE:

Log.v(tag, msg);

break;

case Log.DEBUG:

Log.d(tag, msg);

break;

case Log.INFO:

Log.i(tag, msg);

break;

case Log.WARN:

Log.w(tag, msg);

break;

case Log.ERROR:

Log.e(tag, msg);

break;

}

} else {

switch (logLevel) {

case Log.VERBOSE:

Log.v(tag, msg, tr);

break;

case Log.DEBUG:

Log.d(tag, msg, tr);

break;

case Log.INFO:

Log.i(tag, msg, tr);

break;

case Log.WARN:

Log.w(tag, msg, tr);

break;

case Log.ERROR:

Log.e(tag, msg, tr);

break;

}

}

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值