android - 如何通过单击(离子)webview 中的按钮来更改 android 活动?
问题描述
我正在使用 Ionic 4 开发一个混合应用程序。Ionic 就像其他基于 html5 的应用程序一样webview
以MainActivity
. 使用电容器我已将我的应用程序导入到 android studio 并创建了一个SecondActivity
. 如何SecondActivity
通过单击第一个活动(MainActivity
)中的按钮(这是一个 Ioninc 页面,并且肯定是一个 html webview)来访问。
到目前为止,我已经尝试了不同的方法来实现这一点,但没有运气。我按照本教程创建了一个cordova插件: 从cordova插件启动android活动 它在cordova应用程序中运行良好,但我没有成功将它导入Ionic。我也尝试过电容器,显然使用电容器访问本机代码应该非常容易,但不幸的是,到目前为止我还没有运气。 https://capacitor.ionicframework.com/docs/plugins/android
解决方案
经过很多努力!这是答案:我提到的插件实际上在cordova中很酷,并将它带到ionic4(因为插件的clobbers是“PluginName”,你必须在你的打字稿中声明和使用它)我的代码如下(主页.page.ts):
import { Component } from '@angular/core';
declare var PluginName: any;
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
goToCustomActivity(){
PluginName.new_activity();
}
}
在你的 home.page.html 中:
<ion-content>
<ion-button (click)="goToCustomActivity()">go to custom activity</ion-
button>
</ion-content>
我希望这对某人有所帮助。特别感谢插件“Ijas Ahamed N”的原始编码器,您可以在此处找到编写插件的说明: https ://www.ijasnahamed.in/2016/11/start-android-activity-from-cordova.html ,这里是stackoverflow(注意!在stackoverflow中省略了创建package.json的步骤!) 从cordova插件启动android活动
推荐阅读
- pact-lang - Pact 中的模块守卫
- javascript - 如何将前一项附加到数组中的下一项?
- javascript - 尽管有几个 `try`-`catch` 块,但仍获得 UnhandledPromiseRejectionWarning
- javascript - 在 Firebase 中创建用户后获取身份提供者令牌
- ssl - curl 命令有效,但 C 程序失败 NSS:找不到客户端证书(未指定昵称)
- docker - Minikube 有 IP - 不能卷曲
- cplex - X 二进制变量和 W 是 dvar 浮点数。如果 Wi>0 然后 Xi=1,我想得到这个结果
- mysql - 如何选择没有实际分组项目的组
- r - 将 scale_color 与类日期变量一起使用会产生错误:as.Date.numeric(value) : 'origin' must be provided
- firebase - Flutter firebase_database 获取孩子