Phonegap - обновление до 3.0 проблем с функциями API

Работа на Windows с Phonegap 3.0, платформой Android, отладка в Eclipse.

Мне удалось собрать мое старое приложение, но я столкнулся с новой проблемой при попытке использовать функцию, которая теперь является плагином.

Я добавил все нужные мне плагины с помощью инструмента CLI и добавил данные "feature" в файл config.xml, поэтому я предполагаю, что они доступны для вызова. Разрешения также задаются в файле манифеста.

Передача файла

Я вижу, что пример кода API передачи файлов не изменился для 3.0, поэтому я оставил вызов в своем коде таким же. Таким образом, файл будет загружен, но затем я получаю ошибку, которая приводит к сбою приложения

"
D/CordovaLog(12883): file:///android_asset/www/phonegap.js: Line 932 : Uncaught Error: Error calling method on NPObject!
"

Я сделал некоторые поиски этой ошибки, и, кажется, нет стандартного решения?

Возможно, есть новый способ вызова функций, которые находятся внутри плагинов? Потому что я не могу воспроизвести аудиофайл без ошибок. Звуковой файл будет воспроизводиться, но вызовет ошибки.

"
09-01 20:13:17.274: W/PluginManager(13279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 23ms. Plugin should use CordovaInterface.getThreadPool().
"

Я перечитал медиа-API и не упомянул пул потоков. Я делаю все свое программирование в JavaScript.

По сути, где бы я ни использовал функцию плагина, в приложении возникают серьезные ошибки. Я попытался использовать функцию записи звука в моем ранее работающем приложении, и когда я вызываю остановку записи, она выдает ошибку

"
09-01 20:10:04.206: E/AudioPlayer(13279): FAILED renaming /mnt/sdcard/tmprecording.3gp to /sdsub/myapp/Recorded/myRecording.amr
"

Я протестировал API передачи файлов снова через мою функцию удаления файлов, и это также не удалось

"
09-01 20:16:00.884: W/PluginManager(13279): THREAD WARNING: exec() call to File.remove blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool().
"

кажется, что сущность того, как работают функции, изменилась, но нигде не документирована. Вызовы API кажутся неизменными по сравнению со старыми версиями, просто то, как вы устанавливаете функции API, отличается, но я следовал этому руководству и установил их.

Есть ли новое руководство по API, которое я пропустил? потому что документация Phonegap API не изменилась для того, как эти функции называются в 3.0.

Благодарю.

мой конфигурационный файл

<feature name="App">
    <param name="android-package" value="org.apache.cordova.App" />
</feature>
<feature name="NetworkStatus">
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
</feature>
<feature name="File">
    <param name="android-package" value="org.apache.cordova.file.FileUtils" />
</feature>
<feature name="FileTransfer">
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
</feature>
<feature name="Media">
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
</feature>
<feature name="Notification">
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
</feature>
<feature name="SplashScreen">
    <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
</feature>
<feature name="Compass">
    <param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener" />
</feature>

мой файл манифеста

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />

1 ответ

Пока вы обновляете свое приложение, phonegap.jsФайл должен поддерживать весь функциональный скрипт. Вы можете использовать подходящую версию файла JavaScript, как phonegap.0.9.5.js или более высокая версия тоже. Это может быть связано с тем, что phonegap.js не содержит необходимых функций, необходимых для приложения. Если вы видите API, у них есть телефонная щель.XYZjs . так что вы можете попробовать выше

Другие вопросы по тегам