| | |
| | | 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) |
| | | } |
| | | } |
| | | } |
| | | } |