android - PhoneGap 截图插件不适用于 Android?

标签 android cordova phonegap-plugins phonegap-build

我目前在 phonegap android 项目中使用屏幕截图插件(插件版本 2.0.0),该插件会返回一些错误,例如

未捕获的类型错误:无法调用文件中未定义的方法“saveScreenshot”:///android_asset/www/index.html

我的代码:

 <script src="cordova-2.5.0.js"></script>
 <script src="js/jquery-1.8.1.min.js"></script>
 <script src="js/Screenshot.js"></script>
 <script>
  document.addEventListener("deviceready",onDeviceReady,false);
  function onDeviceReady() {
   $('#screen').click(function(){
   window.plugins.screenshot.saveScreenshot();
  });
 } 
</script>

 <button id="screen">ScreenSave</button>

我做错了什么任何人指导我。
谢谢

编辑


配置.xml

        <?xml version="1.0" encoding="utf-8"?>
    <cordova>
      <!--
        access elements control the Android whitelist.
        Domains are assumed blocked unless set otherwise
         -->

      <access origin="http://127.0.0.1*"/>
      <!-- allow local pages -->

      <!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
      <!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
      <access origin=".*"/>

      <!-- <content src="http://mysite.com/myapp.html" /> for external pages -->
      <content src="index.html" />
      <log level="DEBUG"/>
      <preference name="useBrowserHistory" value="true" />
      <preference name="exit-on-suspend" value="false" />
      <plugins>
        <plugin name="App" value="org.apache.cordova.App"/>
        <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
        <plugin name="Device" value="org.apache.cordova.Device"/>
        <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
        <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
        <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
        <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
        <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
        <plugin name="File" value="org.apache.cordova.FileUtils"/>
        <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
        <plugin name="Notification" value="org.apache.cordova.Notification"/>
        <plugin name="Storage" value="org.apache.cordova.Storage"/>
        <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
        <plugin name="Capture" value="org.apache.cordova.Capture"/>
        <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
        <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
        <plugin name="Echo" value="org.apache.cordova.Echo" />
        <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
        <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
        <plugin name="Screenshot" value="org.apache.cordova.Screenshot"/>
      </plugins>
    </cordova>

EDIT-2
AndroidManifest.xml

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

最佳答案

这里缺少了很多东西。您需要添加 screenshot.java文件到您的项目并添加对 screenshot.js 的引用在你的 index.html 中。您还需要提供写入本地存储的权限 described here .

关于android - PhoneGap 截图插件不适用于 Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977192/

相关文章:

java - 创建通用类型适配器类不起作用

Android PagerTabStrip 文本消失

android - 在 cordova 内打开适用于 ios、android 和 windows 的外部应用程序

cordova - iOS - 使用 Phonegap 作为 iBeacon 进行广告

ios - 使用admin.pushapps.mobi的iOS的PhoneGap推送通知

android - Phonegap Android AlarmManager 插件?

java - "Error while waiting for device: adb connection not available, or was terminated"?

java - 重复类 : MainActivity

ios - 如何清理 xcode 构建缓存?

android - 如何在 PhoneGap 的 LinkedIn 墙上分享短信?