Commit 28ff03da authored by wanglei's avatar wanglei

...

parent 05fa7d8b
...@@ -9,7 +9,7 @@ class NotificationSendBean( ...@@ -9,7 +9,7 @@ class NotificationSendBean(
val where: String = "", val where: String = "",
val canSend: () -> Boolean = { true },//是否可以发送 val canSend: () -> Boolean = { true },//是否可以发送
var sendSuccess: (() -> Unit)? = null,//发送成功回调 var sendSuccess: (() -> Unit)? = null,//发送成功回调
var valueMap: HashMap<String, Any> = hashMapOf()//发送通知可能携带的参数 var valueMap: HashMap<String, Any?> = hashMapOf()//发送通知可能携带的参数
) { ) {
var actionId: String = "" var actionId: String = ""
......
...@@ -21,7 +21,7 @@ class FcmReceiver : BroadcastReceiver() { ...@@ -21,7 +21,7 @@ class FcmReceiver : BroadcastReceiver() {
LogEx.logDebug(TAG, "FCM FcmReceiver") LogEx.logDebug(TAG, "FCM FcmReceiver")
val sendBean = NotificationSendBean(context, POPUP_WHERE_FCM, canSend = { true }, sendSuccess = {}) val sendBean = NotificationSendBean(context, POPUP_WHERE_FCM, canSend = { true }, sendSuccess = {})
if (isWithinTimeRange()) { if (isWithinTimeRange()) {
val map = hashMapOf<String, Any>() val map = hashMapOf<String, Any?>()
map["AM"] = "Scan today's product information." map["AM"] = "Scan today's product information."
sendBean.valueMap = map sendBean.valueMap = map
sendBean.actionId = ACTION_ID_SCAN sendBean.actionId = ACTION_ID_SCAN
......
...@@ -24,7 +24,7 @@ class MessagingService : FirebaseMessagingService() { ...@@ -24,7 +24,7 @@ class MessagingService : FirebaseMessagingService() {
val sendBean = NotificationSendBean(this, POPUP_WHERE_FCM, canSend = { true }, sendSuccess = {}) val sendBean = NotificationSendBean(this, POPUP_WHERE_FCM, canSend = { true }, sendSuccess = {})
if (isWithinTimeRange()) { if (isWithinTimeRange()) {
val map = hashMapOf<String, Any>() val map = hashMapOf<String, Any?>()
map["AM"] = "Scan today's product information." map["AM"] = "Scan today's product information."
sendBean.valueMap = map sendBean.valueMap = map
sendBean.actionId = ACTION_ID_SCAN sendBean.actionId = ACTION_ID_SCAN
......
...@@ -147,7 +147,7 @@ object MyNotificationManager { ...@@ -147,7 +147,7 @@ object MyNotificationManager {
//提前获取数据 //提前获取数据
if (bean.actionId == ACTION_ID_EARTHQUAKE) { if (bean.actionId == ACTION_ID_EARTHQUAKE) {
val data = fetchEarthquakeData()?.features?.maxBy { it.properties.sig } val data = fetchEarthquakeData()?.features?.maxBy { it.properties.sig }
bean.valueMap["data"] = data as Any bean.valueMap["data"] = data as Any?
} }
async(Dispatchers.Main) { async(Dispatchers.Main) {
......
package com.base.scanqrclear.ui.scan package com.base.scanqrclear.ui.scan
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.IntentSenderRequest import androidx.activity.result.IntentSenderRequest
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.scanqrclear.BuildConfig
import com.base.scanqrclear.R import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.base.BaseActivity import com.base.scanqrclear.base.BaseActivity
...@@ -27,10 +29,14 @@ import com.gyf.immersionbar.ktx.immersionBar ...@@ -27,10 +29,14 @@ import com.gyf.immersionbar.ktx.immersionBar
class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOtherBinding::inflate) { class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOtherBinding::inflate) {
private var scannerLauncher: ActivityResultLauncher<IntentSenderRequest>? = null
override fun initView() { override fun initView() {
super.initView() super.initView()
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight()) binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
initScannerLauncher()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_app_exit) AdsMgr.showNative(binding.flAd, R.layout.layout_admob_app_exit)
...@@ -56,22 +62,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth ...@@ -56,22 +62,10 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
.setScannerMode(SCANNER_MODE_FULL) .setScannerMode(SCANNER_MODE_FULL)
.build() .build()
val scanner = GmsDocumentScanning.getClient(options) val scanner = GmsDocumentScanning.getClient(options)
val scannerLauncher = registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { result ->
if (result.resultCode == RESULT_OK) {
val data = GmsDocumentScanningResult.fromActivityResultIntent(result.data)
data?.pages?.forEach { page ->
val imageUri = page.imageUri
LogEx.logDebug(TAG, "imageUri=$imageUri")
}
val pdfUri = data?.pdf?.uri
val pdfPageCount = data?.pdf?.pageCount
LogEx.logDebug(TAG, "pdfUri=$pdfUri")
LogEx.logDebug(TAG, "pdfPageCount=$pdfPageCount")
}
}
scanner.getStartScanIntent(this) scanner.getStartScanIntent(this)
.addOnSuccessListener { intentSender -> .addOnSuccessListener { intentSender ->
scannerLauncher.launch(IntentSenderRequest.Builder(intentSender).build()) scannerLauncher?.launch(IntentSenderRequest.Builder(intentSender).build())
} }
.addOnFailureListener { .addOnFailureListener {
toast("Don't support GmsDocumentScanner", true) toast("Don't support GmsDocumentScanner", true)
...@@ -81,6 +75,27 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth ...@@ -81,6 +75,27 @@ class ScanOtherActivity : BaseActivity<ActivityScanOtherBinding>(ActivityScanOth
} }
} }
private fun initScannerLauncher() {
scannerLauncher = registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { result ->
if (result.resultCode == RESULT_OK) {
val data = GmsDocumentScanningResult.fromActivityResultIntent(result.data)
data?.pages?.forEach { page ->
val imageUri = page.imageUri
LogEx.logDebug(TAG, "imageUri=$imageUri")
if (BuildConfig.DEBUG) {
binding.tvTest.append("imageUri=$imageUri\n")
}
}
val pdfUri = data?.pdf?.uri
val pdfPageCount = data?.pdf?.pageCount
LogEx.logDebug(TAG, "pdfUri=$pdfUri")
binding.tvTest.append("pdfUri=$pdfUri\n")
LogEx.logDebug(TAG, "pdfPageCount=$pdfPageCount")
binding.tvTest.append("pdfPageCount=$pdfPageCount")
}
}
}
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
......
...@@ -87,5 +87,13 @@ ...@@ -87,5 +87,13 @@
</com.base.scanqrclear.ads.NativeParentView> </com.base.scanqrclear.ads.NativeParentView>
<TextView
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:id="@+id/tvTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment