https://github.com/wdsqjq/andlogin
Hook AMS + APT实现集中式登录. 详解: https://www.jianshu.com/p/7d8aed828f65
https://github.com/wdsqjq/andlogin
ams apt hook
Last synced: 12 months ago
JSON representation
Hook AMS + APT实现集中式登录. 详解: https://www.jianshu.com/p/7d8aed828f65
- Host: GitHub
- URL: https://github.com/wdsqjq/andlogin
- Owner: wdsqjq
- License: mit
- Created: 2021-09-08T14:17:45.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-09-10T14:23:20.000Z (almost 5 years ago)
- Last Synced: 2023-03-05T00:25:00.278Z (over 3 years ago)
- Topics: ams, apt, hook
- Language: Java
- Homepage:
- Size: 703 KB
- Stars: 98
- Watchers: 1
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AndLogin
**通过Hook AMS + APT实现集中式登录**
效果如下:

**优势:**
1. 以非侵入性的方式将分散的登录判断逻辑集中处理,减少了代码量,提高了开发效率。
2. 增加或删除目标页面时无需修改判断逻辑,只需增加或删除其对应注解即可,符合开闭原则,降低了耦合度
3. 在用户登录成功后直接跳转到目标界面,保证了用户操作不被中断。

**使用:**
1,添加依赖
```groovy
allprojects {
repositories {
maven { url 'https://www.jitpack.io' }
}
}
dependencies {
implementation 'com.github.wdsqjq.AndLogin:lib:1.0.0'
kapt 'com.github.wdsqjq.AndLogin:apt_processor:1.0.0'
}
```
2,给需要登录的Activity添加注解
```kotlin
@RequireLogin
class TargetActivity1 : AppCompatActivity() {
...
}
@RequireLogin
class TargetActivity2 : AppCompatActivity() {
...
}
```
3,给登录Activity添加注解
```java
@LoginActivity
class LoginActivity : AppCompatActivity() {
...
}
```
4,提供判断是否登录的方法
需要是一个静态方法
```java
@LoginActivity
class LoginActivity : AppCompatActivity() {
companion object {
// 该方法用于返回是否登录
@JudgeLogin
@JvmStatic
fun checkLogin(): Boolean {
return SpUtil.isLogin()
}
}
}
```