Почему я продолжаю получать сообщение «Не найдено активности для обработки намерения» с помощью PhoneGap и подключаемого модуля сканера штрих-кодов?

#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 файл. Я не уверен, что делаю что-то неправильное, что приводит к необходимости использования двух идентичных файлов, но единственный способ заставить все работать — это если код присутствовал в них обоих.

Надеюсь, это кому-нибудь поможет.