Skip to content

Instantly share code, notes, and snippets.

@LouisShark
LouisShark / HostingLooper.kt
Created February 7, 2022 12:45
托管Looper可以catch一些报错但不影响业务的exception
import android.os.Looper
import android.util.Log
fun looper() {
Gloal.handler.post {
while (true) {
try {
Looper.loop()
} catch (e: Throwable) {
val stack = Log.getStackTraceString(e)
@LouisShark
LouisShark / GetAndroidLockSalt.java
Last active January 5, 2019 09:38
获取锁屏加密时和密码一起加密的salt
static void getSalt() {
try {
Class<?> clazz = Class.forName("com.android.internal.widget.LockPatternUtils");
Object lockUtils = clazz.getConstructor(Context.class).newInstance(this);
Class<?> lockUtilsClazz = lockUtils.getClass();
Method getSaltM = lockUtilsClazz.getDeclaredMethod("getSalt", int.class);
getSaltM.setAccessible(true);
Object saltObj = getSaltM.invoke(lockUtils, 0);
Log.i("LouisShark", "Salt: " + saltObj);
} catch (Exception e) {
@LouisShark
LouisShark / Sl.kt
Created August 4, 2018 07:26
Service Locator's imple
package com.yibo.housekeeping.test
import android.annotation.SuppressLint
import android.content.Context
import android.support.annotation.NonNull
import android.support.annotation.Nullable
/**
* @author LouisShark
* @date 2018/8/4.