From 664834b83a4c50cac039bbfa49f5164ca9bf8e3c Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期五, 07 八月 2020 17:05:17 +0800 Subject: [PATCH] 8.7 --- app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt | 75 ++++++++++++++++++++++++++++++++++++- 1 files changed, 73 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt index e4c67bb..b699c3a 100644 --- a/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt +++ b/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt @@ -3,10 +3,81 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import android.os.Handler +import android.os.Looper +import cn.sinata.rxnetty.netStatus.NetUtils import cn.sinata.xldutils.utils.toast +import com.google.gson.Gson +import com.okgoincar.bean.LoginBean +import com.okgoincar.netUtls.Api +import com.okgoincar.netUtls.callNet +import com.okgoincar.netUtls.getMapByAny +import com.okgoincar.netUtls.getToken +import com.okgoincar.slab.SlabLoginActivity +import com.okgoincar.slab.SlabMainActivity +import com.okgoincar.utils.Cache.CacheKey +import com.okgoincar.utils.Cache.CacheUtil +import org.greenrobot.eventbus.EventBus +import org.jetbrains.anko.startActivity +import java.lang.Exception class MainBroadCastReceiver : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - toast("获取的action="+intent!!.getStringExtra("isLogin")) + override fun onReceive(contexts: Context?, intent: Intent?) { + if (intent == null){ + toast("内容获取为空,广播接收消息错误") + return + } + try { + Handler(Looper.getMainLooper()).post { + val b = intent.getBooleanExtra("isLogin",true) + toast("isLogin=$b") + if (!b){ + CacheUtil.get().clear() + EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP)) + }else{ + if (getToken().isNullOrEmpty()){ + Handler(Looper.getMainLooper()).post { + toast("开始登录") + } + var driverCertificate = intent.getStringExtra("driverCertificate") + if (driverCertificate == null){ + toast("身份证获取失败") + }else{ + if (contexts == null){ + toast("上下文为空,使用全局跳转") + toLoginActivity(MyApplication.getInstance(),driverCertificate) + }else{ + toLoginActivity(MyApplication.getInstance(),driverCertificate) + } + } + + } + } + } + }catch (e:Exception){ + + } + + } + + private fun toLoginActivity(context: Context?,driverCertificate: String?) { + var map = getMapByAny() + map["identification"] = driverCertificate + callNet(context!!,Api.loginByIdentification,map){ + toast("登录成功") + var bean = Gson().fromJson<LoginBean>(it, LoginBean::class.java) + CacheKey.putKeyStr("identification",driverCertificate!!) + CacheKey.putKeyStr("appid", bean.data.appid) + CacheKey.putKeyStr("token", bean.data.token) + CacheKey.putKeyStr("userId", bean.data.id.toString()) + CacheKey.putKeyStr("serverId", bean.data.serverId.toString()) + CacheKey.putKeyStr("terminalName", bean.data.terminalId.toString()) + Handler(Looper.getMainLooper()).post { + var intent = Intent() + intent.setClass(context,SlabMainActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(intent) + } + } } } \ No newline at end of file -- Gitblit v1.7.1