Проблема приема намерений с API winge Zebra DataAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема приема намерений с API winge Zebra Data

Сообщение Anonymous »

В настоящее время мы используем устройство Zebra для управления активами компании, поэтому мы разрабатываем небольшое прототип Android -приложения для сканирования тегов RFID. Я прочитал из API Welge Data, что приложение может получить сканируемое вывод, обладает передачей намерения.
Но приложение не может получить каких -либо намерений.
Устройство: Zebra mc33
wand Wand: 7.3
. Следующий < /p>
Настройки профиля: < /p>
Intent Action : my.prototype.app.SCAN
Intent Delivery Type: Broadcast Intent.
Intent Category: Default.
Added to Associated Apps
< /code>
android manifest.xml

< /code>
scanintEntReceiver.kt
abstract class ScanIntentReceiver : BroadcastReceiver() {

abstract fun onReceiveScan(data: ScannerOutput)

override fun onReceive(p0: Context?, p1: Intent?) {
Timber.d("S1: Broadcast Scan Intent Received.")
p0?.let { context ->
p1?.let { intent ->
when (intent.action) {
BuildConfig.intentAction -> {
try {
val data = parseData(intent, context)
Timber.d("Data received: $data")
onReceiveScan(data)
} catch (ex: Exception) {
Timber.d("Parsing error")
Timber.d(ex)
}

}
else -> {
Timber.d("No Suitable Action.")
}
}

}
}
}
}
< /code>
также попробовал использование «Отправить через начало» < /p>
Настройки профиля: < /p>
Intent Action : my.prototype.app.SCAN
Intent Delivery Type: Send via StartActivity.
Intent Category: Default.
Added to Associated Apps
< /code>
android manifest.xml






< /code>
scanactivity.kt
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
Timber.d("Received Intent via Activity.")
intent?.let {
try {
val data = parseData(it, this)
viewModel.processOutput(data)
} catch (ex: Exception) {
Timber.e(ex)
}
}
}
< /code>
Любая помощь ценится. Заранее спасибо. < /P>
Обновление: < /p>
private fun parseData(intent: Intent, ctx: Context): ScannerOutput {
val decodedSource =
intent.getStringExtra(ctx.getString(R.string.datawedge_intent_key_source))

val decodedData =
intent.getStringExtra(ctx.getString(R.string.datawedge_intent_key_data))
val decodedLabelType =
intent.getStringExtra(ctx.getString(R.string.datawedge_intent_key_label_type))
....

}
< /code>
Обновление: < /p>
val filter = IntentFilter()
filter.addCategory(Intent.CATEGORY_DEFAULT)
filter.addAction(BuildConfig.intentAction)
registerReceiver(scanIntentReceiver, filter)


Подробнее здесь: https://stackoverflow.com/questions/666 ... -wedge-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»