Articles of cordova

Android URL方案:intent.getData()== null(PhoneGap)

所以我试图将一个URL调用到我的应用程序中,但是在打开之后,无论我做什么,它总是似乎null 。 这是我的清单的相关部分: 这是我的java: @Override public void onStart() { super.onStart(); final Intent intent = getIntent(); Uri url = intent.getData(); Log.e(“myLog”, “Url = ” + url); } 日志输出“Intent = null”,我没有错误。 我不是一个java开发人员所以我可能有一个我不认识的简单问题。 我将使用sendJavascript将其传递到我的PhoneGap应用程序,但是作为PhoneGap应用程序似乎与此问题无关。 编辑: 我似乎只是在记录intent时获得第一个 。 这是日志: 03-13 12:36:18.593: E/MyAppLog(13793): Intent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.wd.myapp/.myapp (has extras) } 解: 在通过几十篇关于如何实现URL方案来打开你的PhoneGap应用程序的post,并且它们都没有非常健壮或正在工作之后,我将发布我的完整解决方案并希望有人发现它有用。 第一步:AndroidManifest.xml – 将此添加到您的 ,将’urlScheme’更改为您喜欢的任何内容。 在这种情况下,您可以单击指向urlScheme:///?key = […]

如何使用Phonegap打开Twitter和Facebook应用程序?

我正在尝试使用我的PhoneGap应用程序链接在Twitter应用程序中打开特定的用户个人资料页面。 我知道不是每个人都在他们的设备上安装了Twitter应用程序,所以我想将它们发送到Play商店下载,如果他们没有。 问题是我每次点击Android设备上的链接时都会收到错误消息: Application Error: net::ERR_UNKNOWN_URL_SCHEME(twitter://user?screen_name=xerxesnoble) 我的JavaScript如下: //If Android var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf(“android”) > -1; //&& ua.indexOf(“mobile”); if (isAndroid) { alert(‘Android!’); twitterCheck = function() { alert(‘Android!’); var now = new Date().valueOf(); setTimeout(function () { if (new Date().valueOf() – now > 100) return; window.open(‘https://play.google.com/store/apps/details?id=com.twitter.android’, ‘_system’, ‘location=no’); }, 50); window.open(‘twitter://user?screen_name=XerxesNoble’, ‘_system’, ‘location=no’); }; […]

如何在ionic framework+ angularjs中调用函数?

我正在使用ionic framework来制作Android应用程序。我有cordova 5.1版本。首先我使用命令行离子启动myApp标签创建一个项目。我添加了android平台。现在我需要将java代码传递给javascript代码。使用谷歌我发现我需要制作自定义插件。但我没有在谷歌上find任何解决方案我们将如何创建自定义插件。我发现ng-cordova给出了自己的插件我们无法制作自定义插件。 我只需要UI上的一个按钮 。单击该按钮我需要调用java函数,在控制台上打印一些日志。然后在JavaScript文件上返回成功或错误回调 你能否告诉我如何在离子中创建一个简单的插件?

在Cordova中传递onActivityResult

Cordova有没有自动方式将onActivityResult传递给它的CordovaPlugin类? 这是我当前的文件,手动执行: package com.myapp; import android.os.Bundle; import org.apache.cordova.*; import android.content.Intent; import com.flyingsoftgames.googleplaytoken.GooglePlayToken; public class MyApp extends CordovaActivity { @Override protected void onActivityResult (int requestCode, int resultCode, Intent data) { GooglePlayToken.runOnActivityResult (requestCode, resultCode, data); } @Override public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); super.init (); super.loadUrl(Config.getStartUrl()); } } 我尝试使用https://github.com/apache/cordova-plugin-camera/blob/master/src/android/CameraLauncher.java中使用的相同技术来“自动”传递数据 – 但它崩溃了。 这是目标类的工作(手动和无数据传递)和非工作(自动数据传递)版本。 先工作,然后不工作。 工作,没有数据传递: // […]

Android + PhoneGap拦截URL(相当于iOS shouldStartLoadWithRequest)

我的PhoneGap包装,本地托管的Sencha Touch应用程序使一些虚假的URL回调与本机包装器进行通信。 (即app_callback://do_function_a )。 在iOS中,我实现以下内容 – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 检查app_callback:// URL,调用本机函数并返回NO(以停止实际发生导航)。 我可以在Android中实现等效吗? 提前致谢!

Cordova Angular拒绝接受Web Api连接

我正在使用Visual Studio 2013 Update 4,我有一个web api项目设置来接收返回数组的get请求。 对于客户端应用程序,我已设置cordova并使用ng-resource模拟一个Android角度应用程序来调用web api get。 每次我调用GET时都会收到ripple.js错误,表示连接被拒绝。 即使我尝试使用真正的Android设备,我也会拒绝连接。 使用纹波仿真器时出现错误 选项http://****:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rur…Fget%3D%257B%2522method%2522%3A%2522GET%2522%2C%2522array%2522%3Atrue%257D net::ERR_CONNECTION_REFUSED 我确信在web api 2服务器上启用了cors,因为cordova和web api项目是同一本地主机上的不同端口号。 我通过角网页创建了一个完全复制的cordova角度应用程序,不仅certificate了corsfunction,还certificate了代码。 我也尝试过postman并且都正确地得到了json的反应。 只有cordova Android应用程序给我连接被拒绝。 任何帮助将不胜感激! 这是角度得到的样子 app.factory(‘mrMaintService’, function ($resource) { return $resource(‘http://localhost:15528/api/requests’, { get: { method: ‘GET’, array: true } }); }); 这表明我允许web api项目中的所有域:

无法通过Eclipse在Android设备上安装APK

我刚开始使用Phonegap和Eclipse开发一个小型Android应用程序,使用的是Android 2.3.3 SDK。 我在我的股票HTC Sensation上运行我的构建,一切都很顺利。 今天我决定根植我的手机并安装一个ICS rom,工作正常(Android Revolution 5.0.2,如果重要的话)。 我下载了4.0和4.0.3 SDK以及更新的ADT,但我似乎无法再为我的设备构建了。 LogCat给了我以下警告: 12-26 18:12:24.251: W/asset(17419): Asset path /data/local/tmp/myapp.apk is neither a directory nor file (type=0). 12-26 18:12:24.251: W/DefContainer(17419): Failed to parse package 12-26 18:12:24.251: W/ActivityManager(11546): No content provider found for permission revoke: file:///data/local/tmp/myapp.apk 实际上,我可以在设备上看到/ data而不是/ data / local /。 有没有人遇到类似的情况?

Cordova和adb-server问题

我正在与Cordova建立一个项目。 在iOS上,工作流程似乎与我的预期相似,但在Android上它是相当平衡的行为,我不完全确定如何修复。 最初,运行cordova run android …时收到以下错误cordova run android … : Error: Failed to execute shell command “getprop,dev.bootcomplete”” on device: Error: adb: Command failed with exit code 1 Error output: error: device unauthorized. 从这里,我运行adb-kill server并再次运行cordova run android … 模拟器和应用程序似乎在没有先前的adb问题的情况下启动,但是,在显示启动屏幕后,应用程序在Android模拟器中崩溃并出现以下错误对话框: Application Error The connection to the server was unsuccessful. (file:///android_asset/www/index.html) 如果我运行cordova run android …再一次应用程序加载成功,我可以按预期运行应用程序。 如果我重新启动,我需要重新开始这个过程。 这个应用程序适用于其他人的计算机,所以我想我的系统上有一些配置错误,但我不确定最好的方法来确定错误。

如何在Cordova项目上重新加载页面?

我正在构建一个应用程序,使用聚合物入门套件和cordova来包装项目。 现在,由于我使用firebase作为存储数据的数据库,我最终使用两个本机firebase javascript函数来查找用户数据: getAuth() var ref = new Firebase(“https://.firebaseio.com”); var authData = ref.getAuth(); if (authData) { console.log(“Authenticated user with uid:”, authData.uid); } onAuth() var ref = new Firebase(“https://.firebaseio.com”); ref.onAuth(function(authData) { if (authData) { console.log(“Authenticated with uid:”, authData.uid); } else { console.log(“Client unauthenticated.”) } }); 这两个函数需要重新加载才能从firebase返回数据,但是: window.location.reload(); 不起作用 Alos寻找一个Cordova插件: webview-reloader ,安装它但重定向和重新加载仍然无法正常工作。 当我使用reload()函数时,我的Android手机的屏幕变白了,应用程序停止工作。 需要关闭应用程序并再次打开它。

在android上运行模拟器时出错

我正在尝试在Android上运行一个phonegap应用程序,当我运行命令时 phonegap run android –emulator –verbose 我收到了这个错误 Running command “getprop emu.uuid” on emulator-5554… 我如何解决这个问题,任何想法? 我尝试通过两个命令行和android studio模拟器手打开它。