首页 > 解决方案 > 如何通过单击(离子)webview 中的按钮来更改 android 活动?

问题描述

我正在使用 Ionic 4 开发一个混合应用程序。Ionic 就像其他基于 html5 的应用程序一样webviewMainActivity. 使用电容器我已将我的应用程序导入到 android studio 并创建了一个SecondActivity. 如何SecondActivity通过单击第一个活动(MainActivity)中的按钮(这是一个 Ioninc 页面,并且肯定是一个 html webview)来访问。

到目前为止,我已经尝试了不同的方法来实现这一点,但没有运气。我按照本教程创建了一个cordova插件: 从cordova插件启动android活动 它在cordova应用程序中运行良好,但我没有成功将它导入Ionic。我也尝试过电容器,显然使用电容器访问本机代码应该非常容易,但不幸的是,到目前为止我还没有运气。 https://capacitor.ionicframework.com/docs/plugins/android

标签: androidionic-frameworkandroid-intentandroid-activitycapacitor

解决方案


经过很多努力!这是答案:我提到的插件实际上在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活动


推荐阅读