簡體   English   中英

Phonegap - 使用API​​功能升級到3.0問題

[英]Phonegap - Upgrade to 3.0 problems with API features

使用Phonegap 3.0,Android平台在Windows上工作,在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" />

在升級應用程序時, phonegap.js文件必須支持所有功能腳本。 您也可以使用適合的版本的javascript文件,如phonegap.0.9.5.js或更高版本。 這可能是因為phonegap.js不包含應用程序所需的必要功能。 如果您看到API,他們就擁有了手機.XYZjs。 所以你可以嘗試更高的一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM