Articles of phonegap plugins

设置相机宽度和高度phonegap相机

我目前正在创建一个使用Phonegap(Cordova)相机插件的移动应用程序。 它正确捕获图像并将其显示在我想要的位置,但我似乎无法设置targetWidth和targetHeight选项,如上所述。 targetWidth:用于缩放图像的宽度(以像素为单位)。 必须与targetHeight一起使用。 纵横比保持不变。 (数) targetHeight:以像素为单位的高度,用于缩放图像。 必须与targetWidth一起使用。 纵横比保持不变。 (数) 据我了解,这将改变输出的图像宽度和高度。 然而,他们似乎没有工作。 我在研究解决方案时发现了一个建议,称使用可选参数allowEdit 。 在此我可以让用户选择预设的平方图像。 然而,这似乎也不起作用。 请参阅下面的代码以供参考。 camera: function() { //Fire up the camera! navigator.camera.getPicture(onSuccess, onFail, { destinationType: Camera.DestinationType.DATA_URL, allowEdit: true, targetWidth: 512, targetHeight: 512 }); }, 这些尝试都没有成功实现我的想法; 捕获图像的固定宽度和高度。 如何在此图像上设置图像宽度和高度?

android phonegap中的状态栏通知

我在状态栏通知中有一个问题,间隔为10秒。我已经完成了代码,通过创建插件一次显示它。但我想每隔10分钟显示一次。所以我使用AlarmManager每隔10分钟生成一次通知。但它没有调用FirstQuoteAlarm类的onReceive(Context ctx, Intent intent)方法。 我有以下代码用于显示通知和AlarmManager 。 public void showNotification( CharSequence contentTitle, CharSequence contentText ) { int icon = R.drawable.nofication; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, contentTitle, when); Intent notificationIntent = new Intent(ctx, ctx.getClass()); PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); mNotificationManager.notify(1, notification); Date dt = new Date(); Date […]

在webview中打开url – phonegap

我想知道如何在嵌入webview的app环境中打开一个url。 目前这个演示将在外部浏览器中打开一个新选项卡,因此,不是我所期望的。 我正在使用google.com进行测试。 总结,我正在寻找一个function演示。 document.addEventListener(“deviceready”, onDeviceReady, false); function onDeviceReady() { window.location.href = ‘https://google.com’; } 更新:完整的xml文件: https : //codeshare.io/Vw3Fl

Android phonegap项目垃圾邮件QTAGUID消息

我已经有这个问题了一段时间了,虽然它不会对我的应用程序产生负面影响,但如果可以,我想解决它。 我不确定如何描述问题。 基本上,我有一个Android PhoneGap 1.9项目 ,使用API​​ 15(这也发生在API 10下),LogCat日志有来自QTAGUID的无情垃圾邮件,特别是来自我的应用程序。 08-04 14:31:30.092: I/qtaguid(15542): Failed write_ctrl(u 118) res=-1 errno=22 08-04 14:31:30.092: I/qtaguid(15542): Untagging socket 118 failed errno=-22 08-04 14:31:30.092: I/qtaguid(15542): Failed write_ctrl(u 123) res=-1 errno=22 08-04 14:31:30.092: I/qtaguid(15542): Untagging socket 123 failed errno=-22 08-04 14:31:36.338: I/qtaguid(15542): Failed write_ctrl(u 116) res=-1 errno=22 08-04 14:31:36.338: I/qtaguid(15542): Untagging socket 116 failed […]

在cordova添加平台android和iOs之后,并不总是添加插件

我需要运行ionic platform add android/iOs几次ionic platform add android/iOs以获得所需的结果。 有时插件是在第一次运行后添加的,但通常我必须清除插件和平台目录并重新运行添加平台周期几次,直到所有插件都添加到android文件夹中。 是否有其他人遇到过相同的问题,如果是的话 – 解决方案是什么? 如果有的话…… 提前致谢

Cordova + JqueryMobile:Ajax失败了

(最近6个小时一直在这里)我正在尝试制作一个phonegap / Cordova应用程序。 我无法通过Android模拟器进行Ajax调用(API ver 22,Android> 4.4)。 Ajax调用适用于Firefox桌面,但即使在Chrome浏览器上也会失败(与模拟器上的情况相同) cordova –version 5.0.0 码: $.ajax({ url: serverUrl, type: ‘GET’, contentType: “application/json”, async: true, dataType: ‘jsonp’, callback: ‘callback’, jsonpCallback: ‘yourcallback’, crossDomain: true, success: function (result) { $(“#message”).html(“location sent”); }, error: function (request, error) { alert(‘Error ‘ + error); } }); 我看到的错误是: 在chrome远程调试器上: 拒绝连接到’ http: //10:20.2.2/test/ getLocation.php ‘,因为它违反了以下内容安全策略指令:“default-src’self’data:gap: https […]

如何在Android中的PhoneGap的CordovaWebView上叠加原生视图?

我正在构建一个phonegap插件,需要在PhoneGap提供的WebView上呈现本机UI视图。 在iOS中,这非常简单,只需创建视图并将其添加到PhoneGap的webView的scrollView中。 这将在webView顶部呈现控件并允许它与HTML内容一起滚动(请注意,此示例使用UIButton,但我将其应用于自定义UI控件): -(void)createNativeControl:(CDVInvokedUrlCommand *)command { NSDictionary* options = [command.arguments objectAtIndex:0]; NSNumber* x = [options objectForKey:@”x”]; NSNumber* y = [options objectForKey:@”y”]; NSNumber* width = [options objectForKey:@”width”]; NSNumber* height = [options objectForKey:@”height”]; CGRect rect = CGRectMake([x floatValue], [y floatValue], [width floatValue], [height floatValue]); self._nativeControl = [UIButton buttonWithType:UIButtonTypeSystem]; self._nativeControl.frame = rect; [self._nativeControl addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; [self._nativeControl setTitle:@”Click […]

Phonegap应用程序出错:未定义模块cordova / plugin_list已定义

我一直试图解决从Phonegap 2更新到Phonegap 3.3的许多问题,但我似乎无法解决这个问题。 我从一些用户那里读到,未捕获的模块exception会导致导入的插件停止运行。 我有一些奇怪的错误与本地通知插件,所以我想解决这个问题,看看它是否有帮助。 这是Eclipse中logcat中出现的错误: [INFO:CONSOLE(79)] “Uncaught module cordova/plugin_list already defined”, source: file:///android_asset/www/cordova.js (79) 我知道这是一个奇怪的问题,因为Phonegap 3的性质(插件已被重做)。 我认为问题在于导入cordova_plugins.js脚本,因为该脚本的顶行如下: cordova.define(‘cordova/plugin_list’, function(require, exports, module) { module.exports = [ { “file”: “plugins/org.apache.cordova.file/www/DirectoryEntry.js”, “id”: “org.apache.cordova.file.DirectoryEntry”, “clobbers”: [ “window.DirectoryEntry” ] }, … 这是唯一可以find错误中引用的cordova / plugin_list存在的地方。 但是,我不确定解决此问题的正确方法。 我没有使用plugman来导入我的插件,而是使用Phonegap 3.3 API中概述的CLI命令

Javascript和Phonegap插件之间的异步通信

所以,每个人都知道我们创建一个类扩展CordovaPlugin并覆盖execute() ,然后在JS和本机Java(Android)之间创建一个桥梁。 此外,我们使用PluginResult将结果返回给JS。 因此,当从JS向Java插件发出请求时,所有这些都会发生。 我的问题是, 如何 异步 地将结果发送回JS (以及HTML) ? 我不知道异步这个词是不是就在这里。 问题是我想把一些东西发回给JS(比如,当wifi成为启用/禁用时)。 我已经研究过这个,但没有任何适合我的情况。 我试过的是 – 使用WifiManager类创建了一个BroadcastReceiver监听WiFi事件。 注册接收者。 最后,在启用/禁用WiFi时popupToast ,并使用CallbackContext发送结果 callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, “Wifi Connected”))以及与其他消息断开连接。 MyPlugin.java import org.apache.cordova.CallbackContext; import org.apache.cordova.CordovaPlugin; import org.apache.cordova.PluginResult; import org.json.JSONArray; … public class MyPlugin extends CordovaPlugin { private WifiReceiver wifiBroadcastReceiver = null; private CallbackContext callbackContext = null; … public MyPlugin() { wifiBroadcastReceiver = […]

Cordova File Plugin创建的文件的位置在哪里?

我使用Cordova File Plugin在移动设备上创建文件。 以下是创建文件的代码: window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) { alert(cordova.file.dataDirectory); dir.getFile(“log.txt”, { create: true }, function (file) { alert(“got the file: “+ file.name + ‘, ‘ + file.fullPath); }); }); 当我在Android手机上部署应用程序时,该文件将成功创建,但我无法在我的设备上find创建的文件。 尽管cordova.file.dataDirectory指向我设备上的file:///data/data/io.cordova.myappId/files/路径,但data>data路径中不存在io.cordova.myappId文件夹,但存在在Android>data路径中。 顺便说一句,我检查了storage>Android>data>io.Cordova.myappId>files和storage>data>data ,该文件不存在。 这是因为: 创建的文件位于另一个地方,那么我在哪里可以find它? 要么 因为它是私有的,我的文件管理器无权访问它,所以如何更改权限设置以获得公共文件?