#android #cordova #barcode
#Android #кордова #штрих-код
Вопрос:
Я создал простое приложение с помощью PhoneGap и пытаюсь открыть сканер штрих-кода, используя следующий код:
var scanCode = function() {
window.plugins.barcodeScanner.scan(
function(result) {
alert("Scanned Code: " result.text
". Format: " result.format
". Cancelled: " result.cancelled);
}, function(error) {
alert("Scan failed: " error);
});
}
Когда я вызываю эту функцию, я получаю сообщение об ошибке:
Scan failed: No Activity found to handle Intent {act=com.phonegap.plugins.barcodescanner.SCAN cat=[android.category.DEFAULT]}
Я также заметил следующую ошибку в журналах:
11-10 21:32:50.830: I/Database(1052): sqlite returned: error code = 14, msg = cannot open file at source line 25467
Я застрял на этой проблеме в течение нескольких часов. Кто-нибудь может дать совет? Кстати, я использую телефон для тестирования, а не эмулятор.
Ответ №1:
Используете ли вы хотя бы PhoneGap 1.1.0 и обновили ли вы AndroidManifest.xml и res/xml/plugins.xml точно так, как описано в https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner .
Здесь есть дополнительные пошаговые инструкции.
Комментарии:
1. ДА. Это именно те инструкции, которым я следовал, но безуспешно. Должно быть, я пропустил шаг или сделал что-то не так.
2. Я написал упомянутое руководство, поэтому мне очень интересно узнать, устранена ли ваша проблема и как. Пожалуйста, убедитесь, что вы используете AppLaud 1.2.5 и использовали инструкции и сканер штрих-кода от 2 ноября или более поздней версии. Я внес различные ошибки в свой проект и проект библиотеки, но не могу сгенерировать вашу точную ошибку.
Ответ №2:
Я могу повторить эту ошибку, неправильно вложив <activity> [barcode plug-in stuff] </activity>
внутренние из основных <activity> </activity>
тегов приложения в AndroidManifest.xml
файл.
Ответ №3:
На связанном сайте говорится:
"android.intent.category.DEFAULT"
Ваш код ошибки гласит:
android.category.DEFAULT
Может ли это быть?
Ответ №4:
Я знаю, что я очень поздно подключаюсь к этому, но у меня было такое же сообщение об ошибке.
В моем случае ошибка была вызвана тем, что я не включил <activity>...</activity>
код в оба файла AndroidManifest.xml. Существует /AndroidManifest.xml файл и /bin/AndroidManifest.xml файл. Я не уверен, что делаю что-то неправильное, что приводит к необходимости использования двух идентичных файлов, но единственный способ заставить все работать — это если код присутствовал в них обоих.
Надеюсь, это кому-нибудь поможет.