Skip to content

Commit

Permalink
1.1.3
Browse files Browse the repository at this point in the history
feature-增加扫描头广播内容解析功能
  • Loading branch information
wxw-9527 committed Dec 27, 2022
1 parent f0116d6 commit 6b4b789
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 25 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ android {
applicationId "com.rouxinpai.demo"
minSdk 21
targetSdk 33
versionCode 112
versionName "1.1.2"
versionCode 113
versionName "1.1.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand Down
48 changes: 25 additions & 23 deletions app/src/main/java/com/rouxinpai/demo/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package com.rouxinpai.demo

import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.LayoutInflater
import android.view.View
import androidx.core.os.postDelayed
import com.rouxinpai.arms.base.activity.BaseMvpActivity
import com.rouxinpai.arms.receiver.BarcodeScanningReceiver
import com.rouxinpai.demo.databinding.ActivityMainBinding
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : BaseMvpActivity<ActivityMainBinding, MainContract.View, MainPresenter>(),
MainContract.View {
MainContract.View,
BarcodeScanningReceiver.OnScanListener {

override val stateLayout: View
get() = binding.refreshLayout
Expand All @@ -25,26 +24,29 @@ class MainActivity : BaseMvpActivity<ActivityMainBinding, MainContract.View, Mai
super.onInit(savedInstanceState)

//
showLoadingPage()
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showLoadingPage(msg = "测试标题", descId = R.string.app_name)
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showEmptyPage()
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showEmptyPage(msgId = R.string.app_name)
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showErrorPage()
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showErrorPage(msg = "测试异常标题", descId = R.string.app_name)
Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
showSuccessPage()
}
}
}
}
}
}
// showLoadingPage()
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showLoadingPage(msg = "测试标题", descId = R.string.app_name)
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showEmptyPage()
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showEmptyPage(msgId = R.string.app_name)
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showErrorPage()
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showErrorPage(msg = "测试异常标题", descId = R.string.app_name)
// Handler(Looper.getMainLooper()).postDelayed(2 * 1000) {
// showSuccessPage()
// }
// }
// }
// }
// }
// }

}

override fun onScanned(value: String) {
showToast(value)
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.rouxinpai.arms.base.activity

import android.content.Intent
import android.content.IntentFilter
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
Expand All @@ -11,6 +12,7 @@ import com.kaopiz.kprogresshud.KProgressHUD
import com.rouxinpai.arms.R
import com.rouxinpai.arms.base.application.IApplication
import com.rouxinpai.arms.base.view.IView
import com.rouxinpai.arms.receiver.BarcodeScanningReceiver
import com.shashank.sony.fancytoastlib.FancyToast
import com.view.multistatepage.intf.OnRetryClickListener
import com.view.multistatepage.state.EmptyState
Expand All @@ -37,6 +39,9 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity(), IView, OnRe
// 缺省页状态管理实例
private var mLoadState: MultiStateContainer? = null

// 扫描结果解析广播
private lateinit var mReceiver: BarcodeScanningReceiver

/**
* 缺省页内容视图
*/
Expand All @@ -56,6 +61,20 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity(), IView, OnRe
onInit(savedInstanceState)
}

override fun onStart() {
super.onStart()
// 注册广播
val intentFilter = IntentFilter().apply { addAction(BarcodeScanningReceiver.ACTION) }
mReceiver = BarcodeScanningReceiver()
registerReceiver(mReceiver, intentFilter)
}

override fun onStop() {
super.onStop()
// 取消注册广播
unregisterReceiver(mReceiver)
}

override fun onDestroy() {
super.onDestroy()
dismiss()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.rouxinpai.arms.receiver

import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent

/**
* author : Saxxhw
* email : [email protected]
* time : 2022/12/27 17:25
* desc :
*/
class BarcodeScanningReceiver: BroadcastReceiver() {

companion object {
// 广播动作
const val ACTION = "com.android.scanner.broadcast"
//
private const val EXTRA = "scandata"
}

override fun onReceive(context: Context?, intent: Intent?) {
if (context == null || intent == null) {
return
}
if (context is OnScanListener) {
val value = intent.getStringExtra(EXTRA)
if (value != null && value.isNotBlank()) {
context.onScanned(value)
}
}
}

interface OnScanListener {
fun onScanned(value: String)
}
}

0 comments on commit 6b4b789

Please sign in to comment.