标签: phonegap-build

Phonegap Build CLI-5.2.0从Web App下载并关闭

我一直在努力打开窗口打开,在我的应用程序中使用inappbrowser.基本上,我使用phonegap作为包装器来加载具有特殊应用程序功能的移动皮肤CMS站点.

这是index.html.我正在使用inappbrowser(位置设置为no).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Emerald Test App</title>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="viewport" content="width=device-width" /> 
    <script src="phonegap.js"></script>

    <script type='text/javascript'>
      var ref = null;
      function onLoad() {
       document.addEventListener("deviceready", onDeviceReady, false);
      }


     function onDeviceReady() {

      var url = 'https://my-cms-site.com/content.aspx?page_id=31&org_id=1&app=1';
      var target = '_blank';
      var options = "location=no"
      ref = cordova.InAppBrowser.open(url, target, options);

     }

</script>
</head>


<body onload="onLoad()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想要做的是在系统浏览器中打开链接 - 从我通过inappbrowser加载的外部网站

我尝试使用类似的文档和来自帖子的建议来下载文件

<script type="text/javascript">
        window.open(url, '_system');
</script>
Run Code Online (Sandbox Code Playgroud)

和_blank,并添加'location = no'等,但没有骰子.这些是从我的远程站点加载的外部页面.

单击这些链接后,它们将在同一浏览器(inappbrowser或webview)中打开并接管浏览器.我想要做的是在另一个系统浏览器(chrome,safari,无论如何)中打开它们.这将解决我的下载问题(因为文件有望在系统浏览器中打开,用户可以弄清楚如何处理它们). …

jquery android phonegap-plugins cordova phonegap-build

10
推荐指数
1
解决办法
131
查看次数

在phonegap上更改android/iOS平台的Widget ID或Package Name?

我在Google Play中有一个应用程序包com.example001.android,其中一个应用程序在iOS商店中有名称com.example001.ios.

但是,我现在正在使用phonegap构建,已经删除了很多引导代码,只留下了www文件夹,我正在使用widget ID config.xml,所以现在我只有1 config.xml.

如果我设置widget idcom.example001.ios我无法在Android中发布此应用程序.如果我离开widget id,com.example001.android我无法在苹果商店发布此应用程序.

如果我将小部件ID更改为通用ID com.example001.mobile,那么我将无法将应用程序上传到Google Play,因为程序包名称会更改.

如何为每个目标平台设置包名称/ ID?

cordova phonegap-build

9
推荐指数
2
解决办法
6765
查看次数

Phonegap(在线构建)应用程序 - 没有互联网连接和网络状态

我的第一个jquery移动应用程序包含需要来自互联网资源的数据,例如公共谷歌日历和亚马逊联盟小部件,但只有当我在我的Chrome浏览器或使用html5应用程序测试器的Kindle Fire设备上进行测试时,它才有效.如果我用在线Phonegap构建android release apk,那么Kindle和其他Android设备就像联想手机一样无法在应用程序中连接到Internet.我已经阅读了这个问题的所有主题,并发现它被建议<access origin="*" subdomains="true" />在config.xml中使用,但它无效.我还在应用程序中添加了代码片段,如:

    if (navigator.onLine) {
  $("#ifonline").append("Online");
} else {
   $("#ifonline").append("offline");

}

var isOffline = 'onLine' in navigator && !navigator.onLine;

if ( isOffline ) {
    $("#ifonline2").append("Status: offline");
}
else {
    $("#ifonline2").append("online");
}
Run Code Online (Sandbox Code Playgroud)

但结果却一无所获.我的config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
    <widget xmlns   = "http://www.w3.org/ns/widgets"
        xmlns:gap   = "http://phonegap.com/ns/1.0"
        id          = "com.myapp.myapptodo"
        versionCode = "10" 
        version     = "1.0.0" >
    <name>myapp</name>

    <description>
        myapp is very good but can't find that &@?ä? wifi!
    </description>

    <author href="https://mysite" email="mymail">
        Ceatos
    </author>

    <gap:plugin name="org.apache.cordova.network-information" …
Run Code Online (Sandbox Code Playgroud)

jquery android cordova phonegap-build

9
推荐指数
1
解决办法
9015
查看次数

在Phonegap应用程序上使用相机,只有HTML输入,没有Camera API

是否可以在没有Camera API的情况下通过HTML输入从相机中的相机获取照片?

脚本

我开发了一个应用程序并通过Phonegap封装它(Build)

用户可以使用html文件输入提交照片.但是没有选择从相机拍摄新照片,只有画廊和文件(以及任何其他存储应用程序,如驱动器或Dropbox,如果是这种情况).

我想启用相机选项,但没有PhoneGap的Camera API.

解决方案

我尝试了以下解决方案但没有成功:


1."捕获"属性(来自Raymond Camden的帖子)

使用此方法,您所要做的就是添加"capture"属性,如下所示:

<input type="file" capture="camera" accept="image/*" id="JustChooseAnID">
Run Code Online (Sandbox Code Playgroud)

Raymond解释说,使用这种方法,你不需要使用PhoneGap的Camera API,因为谷歌开发了这个选项,并在Google IO演示文稿中展示了它,据Google开发人员和Raymond说,它可以运行.

但是......不适合我.


2.配置Phonegap以询问相机的许可(来自Jorge Lizaso的问题)

"也许相机选项没有显示,因为你的应用没有适当的权限"

在上面的问题中,提到了4种间接询问和接收使用相机的适当权限的方法.

我已经尝试了方法2和4,虽然我的应用程序现在要求相机权限并且我允许它正确,当我使用文件输入时,所有选项都被呈现(如图库和文件),但没有相机.


3(和1).将最新版本的webkit与Crosswalk一起使用以确保解决方案#1

由于我的android webview可能会过时(并且与解决方案#1不兼容),我决定在我的应用程序中包含可能的最佳webview:最新版本的Google Chromium.

但是......再没有成功.


1,2和3组合在一起

结果:没有...成功.

camera android ios cordova phonegap-build

9
推荐指数
1
解决办法
3608
查看次数

Phonegap图像没有显示

我无法让我的图像在我的phonegap版本中工作.

我已经读过绝对路径可能不起作用,所以我尝试了绝对路径和相对路径,但仍然没有运气.

我包括这样的图像:

<Col key={1} xs={3}>
  <Image src='/tire_selected.png' responsive />
</Col>
Run Code Online (Sandbox Code Playgroud)

或亲戚

<Col key={1} xs={3}>
  <Image src='tire_selected.png' responsive />
</Col>
Run Code Online (Sandbox Code Playgroud)

等于

<img class="img-responsive" src="tire_deselected.png" data-reactid=".0.0.1.0.0.0.0.1.1.0.0.$4.0">
Run Code Online (Sandbox Code Playgroud)

Col&Image是使用bootstrap-react的bootstrap helper组件.这一切在Web视图中都可以正常工作,但在使用phonegap构建时却不行.但是,应该已经编译了源,并且在两种情况下都没有错误.

以下是我的config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.app.exampleapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    <name>App</name>
    <description>
    App
    </description>
    <author email="support@example.com" href="http://www.example.com">
        Author
    </author>
    <content src="index.html" />
    <preference name="permissions" value="none" />
    <preference name="orientation" value="default" />
    <preference name="target-device" value="universal" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <preference name="prerendered-icon" value="true" />
    <preference name="stay-in-webview" value="false" />
    <preference name="ios-statusbarstyle" value="black-opaque" /> …
Run Code Online (Sandbox Code Playgroud)

image phonegap-build reactjs

9
推荐指数
1
解决办法
2578
查看次数

Cordova Phonegap本地通知不起作用

我想首先说这是一个非常好的插件(https://github.com/katzer/cordova-plugin-local-notifications)但是在使用它时遇到了一些困难.

我正在使用Android和Phonegap CLI.我已经尝试过CLI 5.0和现在的Phonegap 3.5.0,这是我的config.xml:

<preference name="phonegap-version" value="3.5.0" />

在我的config.xml中,我尝试了所有这些组合:

<plugin name="de.appplant.cordova.plugin.local-notification"  spec="0.8.1" source="pgb" />
<gap:plugin name="de.appplant.cordova.plugin.local-notification" />
<plugin name="de.appplant.cordova.plugin.local-notification" source="pgb" />
Run Code Online (Sandbox Code Playgroud)

然而通知没有出现 - 电话没有任何反应 - 没有,nada,zilch.我还下载了KitchenSink应用程序(https://github.com/katzer/cordova-plugin-local-notifications/tree/example)并安装在Phonegap build和我的手机上,没有再发生任何事情.

这是我在index.html上的代码,所以当手机触发它时应该注册本地通知asap:

cordova.plugins.notification.local.registerPermission(function (granted) {
    // console.log('Permission has been granted: ' + granted);
});

cordova.plugins.notification.local.schedule({
    id: 1,
    title: 'Reminder',
    text: 'Dont forget to pray today.',
    every: 'minute',
    icon: 'res://icon',
    smallIcon: 'res://ic_popup_sync'
});
Run Code Online (Sandbox Code Playgroud)

我也试过了

cordova.plugins.notification.local.schedule({
    id: 2,
    text: "Good morning!",
    firstAt: tomorrow_at_8_am,
    every: "day" // "minute", "hour", "week", "month", "year" …
Run Code Online (Sandbox Code Playgroud)

android phonegap-plugins cordova phonegap-build

9
推荐指数
1
解决办法
4147
查看次数

使用cordova-plugin-fcm通过PhoneGap Build构建Firebase推送通知

我需要在我正在开发的PhoneGap Build应用程序中实现推送通知.

我没有找到关于使用新的Google服务Firebase云消息传递(FCM)的文档,但由于它应该是我们现在必须使用的,因此我搜索了一个可以让我的生活更轻松的API.

我找到了:https://www.npmjs.com/package/cordova-plugin-firebase

所以我添加到我的config.xml:

<plugin name="cordova-plugin-fcm" source="npm" />
Run Code Online (Sandbox Code Playgroud)

并将我从https://console.firebase.google.com/创建的google-services.json放在我压缩的文件夹的根目录中,以便上传到Phonegap Build.

但是我收到以下错误:

Execution failed for task ':processReleaseGoogleServices'.
> File google-services.json is missing. The Google Services Plugin cannot function without it. 
  Searched Location: 
  /project/src/release/google-services.json
  /project/google-services.json
Run Code Online (Sandbox Code Playgroud)

我在根目录中创建了"project"文件夹并将文件放在那里,但这两者都不起作用.

目前我的app文件夹如下所示:

\css
\img
\js
\res (icons and splashscreens)
index.html
config.xml
google-services.json
Run Code Online (Sandbox Code Playgroud)

如果有人知道我要放置该文件的位置,或者使用其他API有任何其他方式来实现它,我会非常感激.我从未使用过Phonegap CLI,我一直在使用Phonegap Build.

push-notification firebase phonegap-build cordova-plugins firebase-cloud-messaging

9
推荐指数
2
解决办法
2万
查看次数

如何在Phonegap构建中安装chromecast

如何在Phonegap构建中安装chromecast?我没找到任何关于phonegap构建的文档.

youtube jquery phonegap-build chromecast

9
推荐指数
1
解决办法
316
查看次数

Cordova/Phonegap Android目标:未安装[Android Studio Installed]

仍然面临这个问题.我在谷歌搜索无法找到解决方案.

  • Mac OSX Sierra
    • Android Studio 2.3
    • Cordova/Phonegap(最新版)

android的需求检查结果:

Java JDK:安装1.8.0

Android SDK:安装为true

Android目标:未安装

找不到Android SDK.确保已安装.如果它不在默认位置,请设置ANDROID_HOME环境变量.

Gradle:已安装

错误:某些要求检查失败

.bash_profile
================================
# Setting JAVA_HOME Path

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home"

# Setting ANDROID_HOME Path

ANDROID_HOME=“/Users/{localpath}/Library/Android/sdk”

# Setting GRADLE_HOME Path

GRADLE_HOME=“/Users/{localpath}/Library/Android/gradle/gradle-3.4”

export PATH=“${GRADLE_HOME}/bin:${PATH}”
export PATH="${ANDROID_HOME}/tools:$PATH"
export PATH="${ANDROID_HOME}/platform-tools:$PATH"
Run Code Online (Sandbox Code Playgroud)

Andriod Manifest

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.company.myAPP" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" /> …
Run Code Online (Sandbox Code Playgroud)

macos android cordova phonegap-build android-studio-2.3

9
推荐指数
1
解决办法
1万
查看次数

从 PhoneGap Build 转换为本地 Cordova CLI

我有几个目前依赖 PhoneGap Build 为 Andriod 和 iOS 创建本机应用程序的应用程序。由于未能升级到最新的 Cordova iOS 版本来满足 Apple 的要求,Adobe 似乎即将放弃 iOS 兼容性。是时候转向 CLI 了。我希望以前做过这件事的人可以提供一些关于他们如何做到这一点的提示。特别是对工作流程、处理密钥和 config.xml 等的更改。

更新 1:我一直在使用自动化工作流程取得进展,这是我到目前为止所学到的(在 MacOS 上):

  • 加载 Cordova 是脆弱的。我不得不在互联网上搜索了几次,以克服在加载所有内容时遇到的问题。
  • 创建 Cordova 项目目录时,您应该添加 ios 和 android 平台之前使用您的内容填充 config.xml、res 和 www 。否则“cordova clean”会中断。
  • 如果您使用 build.json,如果在使用之前更改它,则必须“cordova clean”。
  • 为 iOS 构建,然后在 XCode 中打开 {cordovaDir}/platforms/ios/{proj}.xcworkspace,然后加载您的证书和配置文件(选择顶级目录以获取常规设置页面)。您必须关闭“自动管理签名”才能设置所有内容。
  • 我无法让“自动”签名工作(请参阅 Cordova CLI 9.X 文档)。我使用了手动过程。通过使用文本编辑器编辑配置文件并搜索“UUID”来获取 UUID。
  • 在 Cordova CLI 构建过程中,代码签名者会多次询问您的密码。自动化就这么多。有没有办法解决?

如果我有什么问题,请告诉我。

更新 2:

  • 设置 iOS(手动)登录新项目时。您需要关闭“自动管理签名”,设置您的配置文件,然后退出 XCode。然后重新打开 xcworkspace 文件并打开“自动管理签名”。您需要这最后一步才能使手动签名工作。您需要在两者之间退出,否则,当您返回“自动管理签名”时,XCode 将不会记住您的配置文件。奇怪的。
  • 在构建 apk 和 ipa 时,我发现我必须手动输入密码 4 次。您必须授予钥匙串访问权限才能自动让协同设计者使用您的密钥以避免这种情况。

更新 3: …

cordova phonegap-build

9
推荐指数
1
解决办法
2458
查看次数