小编Ari*_*iel的帖子

当用户在 android 上取消本机选择器时,navigator.share 不会解决或拒绝

因此,我们正在Ionic v3 PWA中实现navigator.share()https://developers.google.com/web/updates/2016/09/navigator-share)。

它可以工作,但是我们遇到了一个我们不知道如何解决的小问题:当 navite 共享选择器弹出时(用户可以选择收件箱、gmail、twitter 等),然后用户按下 android 上的后退按钮(忽略出现的本机模式),该函数不会触发承诺中的任何响应。不是成功,不是错误。

这里的问题是我们在调用 navigator.share 函数之前显示了一个加载微调器,如果用户在那个精确的时刻按下后退按钮,我们无法触发隐藏加载微调器的函数。

这是我们实现该功能的代码部分:

public share(title: string, message: string, url: string) {
    // if it's mobile & web (ie: chrome on android)
    if (this.isMobileWeb === true) {
        this.showLoading();
        if ((navigator as any).share) {
            (navigator as any).share({
                title,
                message,
                url,
            })
                .then(() => {
                    console.log('Success share');
                    this.hideLoading();
                })
                .catch((error) => {
                    console.log('Error share', error);
                    this.hideLoading();
                });
        }
        else {
            console.log('navigator.share() not supported.');
            this.hideLoading();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此实现,如果用户在本机共享模式出现时按下后退按钮,则不会引发成功或错误。这段代码有什么问题吗?

我还尝试在函数内添加另一个回调 …

javascript navigator progressive-web-apps ionic3 android-chrome

6
推荐指数
1
解决办法
2261
查看次数

Cordova/Ionic - 从InAppBrowser下载文件

该方案是这样的:我打开InAppBrowser一个网站,用户与那边的工作结束后,该网站为用户生成下载一个PDF,问题是,PDF不会下载,它会打开它在浏览器.

有没有办法让它从InAppBrowser下载?我目前正在开发iOS应用程序,因此iOS的解决方案会更好.

提前致谢.

ios cordova inappbrowser

5
推荐指数
1
解决办法
9383
查看次数

cordova,Firebase,FCM插件 - 未在iOS上的通知栏中显示通知

我正在使用这个带有cordova 的插件:cordova-plugin-fcm来获取通知.

它适用于Android.

问题出在iOS上,当应用程序处于前台时,通知会到达.但是当应用程序关闭或在后台时,通知不会显示在通知栏中,但是当我打开应用程序时,我可以看到通知到达并且我生成的弹出窗口被打开.

但我真的需要通知在锁定屏幕和通知栏中显示.

这是我发送给Firebase API的内容:

/ POST to https://fcm.googleapis.com/fcm/send

而在身体我发送这个:

{
  "to" : <USER_TOKEN>,
  "alert":"Test",
  "notification": {
    "alert":"Test test",
    "title": "Notification test",
    "text": "Testing notification text"
  },
  "priority": 10,
  "content_available": true
}
Run Code Online (Sandbox Code Playgroud)

我也试过"priority": "high"并获得相同的结果.

通知到了,但它只在我打开应用程序时显示.我甚至没有在通知栏或锁屏中看到它.

此外,我尝试"aps"在正文中添加属性,内部的所有信息..不起作用.

我希望有人可以对此有所启发..

PS:iOS v10.1.1

PS2:适用于所有Android设备.

我已经从社区中读到了一些答案,但似乎没有用:

使用API​​时,Firebase API不会发送推送通知

iOS未通过API发送Firebase推送通知

谢谢你的时间.

notifications ios cordova cordova-plugins firebase-cloud-messaging

5
推荐指数
1
解决办法
5073
查看次数

select,ng-model中奇怪的行为离子不会更新

我遇到了一些奇怪的事情,这个例子在codepen中有效但在我的Ionic应用程序中不起作用.

当我更改select标签中的选项时,我想显示所选的值,但它不起作用,它表明undefined,我已经尝试了很多方面.

这不是原始代码,原始代码从外部API检索值并使用ngOptions填充选项(有效,填充正常).但它不会更新控制器中的值.

所以我决定让它变得更简单,它仍然无法工作:

HTML

<select ng-model="optionSelected" ng-change="selectUpdated()">
    <option value="">Select an option</option>
    <option value="h">Hello</option>
    <option value="b">Bye</option>
</select>
Run Code Online (Sandbox Code Playgroud)

JAVASCRIPT

$scope.selectUpdated = function() {
    console.log('Updated');
    console.log($scope.optionSelected);
};
Run Code Online (Sandbox Code Playgroud)

我认为不需要更多代码,HTML包含在ion-view和中ion-content.没有显示错误,只显示'更新'输出和undefined.

更改选项时,我明白了undefined.但是在codepen中这个相同的代码工作得很好.. http://codepen.io/anon/pen/YXvYmq

有人能告诉我触发这种奇怪行为会发生什么吗?

提前致谢.

angularjs angularjs-ng-change angular-ngmodel ionic

3
推荐指数
1
解决办法
7292
查看次数