Tag: cordova

在推送通知错误“notificationBuilder.setContentText(currentText).setNumber(++ numMessages);”中找不到符号

下面是我的代码,我正在使用cordova推送通知,我试图合并多个推送通知,但它给我错误,对于单一通知其工作,我无法找到出错的地方,请建议 package org.apache.cordova.firebase; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.util.Log; import android.text.TextUtils; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; import java.util.Map; import java.util.Random; private void sendNotification(String id, String title, String messageBody, Map data, boolean showNotification) { Bundle bundle = new Bundle(); int notifyID = 1; […]

如何从java代码调用javascript函数

我试图从java类调用一个javascript函数,但我得到这些错误: -Could not find method sun.misc.Service.installedProviders, referenced from method javax.script.ScriptEngineManager.initEngines -Could not find method sun.misc.Service.providers, referenced from method javax.script.ScriptEngineManager.initEngines -Could not find method sun.misc.Service.installedProviders, referenced from method javax.script.ScriptEngineManager.initEngines -java.lang.VerifyError: javax.script.ScriptEngineManager 这里的代码: public void sendResult(){ ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName(“js”); String script = “function send() {“+”var id_result = window.MyPGP.getResult();”+ “document.getElementById(‘id_result’).value = id_result;”+”console.log(\”change […]

Android启动画面 – 来自SD卡的图像?

上周我一直在玩android和一些phonegap代码,并且通过磕磕绊绊,在我的应用程序创建方面相当成功。 我的应用程序使用默认的初始屏幕加载,然后调出各种JSON源以下载所需数据的本地副本。 在执行此操作时,它还会检查是否存在启动屏幕图像的更新版本(可从CMS网站进行编辑)。 如果有,则下载并存储到SD卡。 这非常有效。 我遇到的问题是下次加载应用程序时我想显示新的启动画面。 我下面的代码检查是否存在较新的代码,但我不知道代码然后用新的代码替换默认值:( 到目前为止我的代码是: package com.interdirect.Harlequin; import java.io.File; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import com.phonegap.*; public class App extends DroidGap { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String newFolder = “/Harlequin”; String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); File appDirectory = new File(extStorageDirectory […]

使用Cordova 3.1 CLI构建Android应用程序时出错

我试图通过phonegap CLI在我的Mac上使用终端运行“cordova build android”。 首先我下载了​​Android SDK。 然后我设置了项目并添加了android。 然后我尝试“cordova build android”并收到以下错误: 错误:构建android项目时发生错误。 请安装Android目标17(Android最新SDK)。 确保您还安装了最新的Android工具。 从命令行运行“android”以安装/更新任何缺少的SDK或工具。 所以我运行“android”并安装了与目标17相关的所有内容。 然后我再次尝试“cordova build android”并收到以下编译错误: -compile:[javac]将3个源文件编译为/Users/johnmacadam/Desktop/com.test.hello/platforms/android/bin/classes [javac] /Users/johnmacadam/Desktop/com.test.hello/platforms/android /src/com/ZZZ.java:20:’;’ 期待[javac]包com.humorthatworks.501ways; [javac] ^ [javac] /Users/johnmacadam/Desktop/com.test.hello/platforms/android/src/com/ZZZ.java:25:期望[javac]公共类501Ways扩展CordovaActivity [javac] ^ [javac] /Users/johnmacadam/Desktop/com.test.hello/platforms/android/src/com/ZZZ.java:25:期望[javac]公共类ZZZ扩展CordovaActivity [javac] ^ [javac] / Users / johnmacadam / Desktop / com.test.hello / platforms / android / src / com / ZZZ.java:25:期望[javac]公共类ZZZ扩展CordovaActivity [javac] ^ [javac] […]

Cordova插件 – 键盘事件Android

我正在试图为Android上的Cordova创建一个可以拦截硬件键盘事件的插件,并将它们提供给Javascript监听器。 我以前创建了其他插件,但我正在努力解决这个问题,因为我在Java方面并不是特别强大。 下面的代码片段中的所有内容编译都很好,但Javascript方面没有任何内容。 任何和所有这方面的帮助表示赞赏! 更新:经过一些研究后,默认情况下,在Android的更高版本中禁用关键事件。 这是由于一些BS借助于使用这么多不同的输入设备和方法来获得更好的用户体验。 如果您从头开始构建应用程序, 这里的post似乎提供了解决方案,但不是Cordova。 这篇文章有一些可以用于Cordova的东西,但它似乎是侵入性的插件。 我想覆盖CordovaWebView中的一些方法,但我宁愿不重新初始化它。 这是Javascript中的常见做法; 有没有人知道如何在Java for Android中做到这一点? KeyboardPlugin.java package com.otb.cordova.keyboard; import org.apache.cordova.CallbackContext; import org.apache.cordova.CordovaInterface; import org.apache.cordova.CordovaPlugin; import org.apache.cordova.CordovaWebView; import org.apache.cordova.PluginResult; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.view.View; import android.view.View.OnKeyListener; import android.view.KeyEvent; import android.view.*; public class KeyboardPlugin extends CordovaPlugin implements OnKeyListener{ private CallbackContext keyup_callback = null; […]

Cordova正在运行错误的Java版本。 如何让Cordova运行特定的Java版本?

[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release 和 error: strings in switch are not supported in -source 1.5 [javac] switch (xmlData[i][1]) { [javac] ^ [javac] (use -source 7 or higher to enable strings in switch) 在使用Cordova for Android编译APK时,我正在收到警告和错误,我正在运行Java 1.5。 我不能在switch语句中使用字符串。 (编译过程错误) 我的系统是64位Windows 7.我的Cordova版本是3.5。 我正在使用git-scm。 ( http://git-scm.com/ […]

Chromium WebView不存在

我正在尝试使用Phonegap创建一个Hello World应用程序,但是当我调用在模拟器上运行应用程序时它会崩溃。 我遵循这里的指导方针。 这是我在MainActivity.java上的内容: package com.example.hello; import android.os.Bundle; import org.apache.cordova.*; public class HelloWorld extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Set by in config.xml super.loadUrl(Config.getStartUrl()); //super.loadUrl(“file:///android_asset/www/index.html”); } } 这是我的AndroidManifest.xml: 这是我得到的第一个错误: Chromium WebView不存在 致命exception:主要 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.deneme / com.example.deneme.MainActivity}:java.lang.UnsupportedOperationException 你能告诉我这个应用程序有什么问题吗? 谢谢。

从eclipse为PhoneGap调用javascript

我正在尝试使用以下代码在Android上使用Phonegap加载网站: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setBooleanProperty(“loadInWebView”, true); super.loadUrl(“http://arriva.com.mt”); } 我如何在webview上执行本地javascript文件?

Android Start_redeliver_intent需要很长时间(小时)才能重新启动服务

我目前正在制作一个应用程序来轮询gps数据并将其上传到服务器。 该应用程序位于前台时启动该服务,并在应用程序进入后台时继续运行。 当应用程序快速关闭时,将调用onTaskRemoved并且Alarm Manager将重新启动该服务。 该服务是一个带有AsyncTask的IntentService来发布gps coords。 这就是奇怪发生的地方。 应用程序停留在前台的时间越长,Android使用START_REDELIVER_INTENT作为onStartCommand中的返回值重启它所需的时间就越长。 这项服务很少被Android杀死,但是当它发生时,它可能需要很长时间才能重新启动,具体取决于它在前台的时间长度。(?)..我认为。 因此,出于测试目的,我删除了重启应用程序的警报管理器,因此当我将应用程序关闭时,android将使用START_REDELIVER_INTENT重新启动它。 如果我让应用程序打开30秒,意味着后台服务运行30秒,然后滑动应用程序关闭,Android将在一分钟内重新启动。 但是,如果我启动应用程序,它在后台启动服务,并将应用程序保留在前台,比如10分钟,那么当我将应用程序关闭时,Android可能需要一个多小时才能重新启动服务。 在这10分钟内,应用程序每隔30秒轮询gps,并使用AsyncTask每5分钟上传一次coords。 我不知道发生了什么事。 我甚至不完全确定它与应用程序处于前台有关,但我可以通过计时将应用程序保持在前台的时间来反复复制它,这似乎与Android重启服务所需的时间成正比。 男人我知道这听起来很疯狂,但我希望不是。 另外作为旁注,我正在为应用程序本身使用Cordova / javascript,但该服务都是Java。 这是我的onCreate和onStartCommand。 不知道我还应该发布什么。 @Override public void onCreate() { super.onCreate(); //Log.i(TAG, “OnCreate”); locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 0, this); registerReceiver(sendHTMLReceiver, new IntentFilter(“html_alarm”)); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); } @Override public int onStartCommand(Intent intent, int […]

构建Cordova Android项目时出错

嗨我正在尝试使用以下环境在Windows 7中使用android插件构建一个cordova项目 ANDROID_HOME=D:\DevTools\Android\Android_SDK_NDK\android-sdk JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45 我生成了一个cordova项目 >cordova create CordovaProject io.xyz.hellocordova CordovaApp 并添加了android插件 >cordova platform add android 在做完之后我试着构建android项目 >cordova build android 这个尝试下载gradle-2.2.1-all.zip导致exception E:\Cordova\Workspace\HelloCordova>cordova build android –verbose Executing “before_build” hook for all plugins. Executing “before_prepare” hook for all plugins. Searching PlatformJson files for differences between project vs. platform instal led plugins No differences found between project and […]