Android Ionic InAppBrowser网站-如果已安装,请在应用程序中打开Twitter链接

Android Ionic InAppBrowser网站-如果已安装,请在应用程序中打开Twitter链接,android,ionic-framework,inappbrowser,Android,Ionic Framework,Inappbrowser,我在安卓手机上部署了一款Ionic应用程序,可以使用InApp浏览器打开一个网站。网站上有一个指向Twitter个人资料的按钮链接 当前,Twitter按钮在用户默认浏览器中打开 如果安装在用户手机上,我如何使按钮打开Twitter应用程序 提前谢谢 编辑 export class HomePage { constructor(public navCtrl: NavController, private inAppBrowser: InAppBrowser, public platform

我在安卓手机上部署了一款Ionic应用程序,可以使用InApp浏览器打开一个网站。网站上有一个指向Twitter个人资料的按钮链接

当前,Twitter按钮在用户默认浏览器中打开

如果安装在用户手机上,我如何使按钮打开Twitter应用程序

提前谢谢

编辑

export class HomePage {

  constructor(public navCtrl: NavController, private inAppBrowser: InAppBrowser, public platform: Platform, private appAvailability: AppAvailability) {
      const options: InAppBrowserOptions = {
          toolbar: 'no',
          location: 'no',
          zoom: 'no'
      }


     this.platform.ready().then( () => {

        const browser = this.inAppBrowser.create("https://awebsitewithfblink", '_blank', options);

        browser.addEventListener('loadstart', function(event) { alert(event.type + ' - ' + event.url); } );
     })


  }
}
我得到一个错误:

Error: Uncaught (in promise): TypeError: browser.addEventListener is not a function
TypeError: browser.addEventListener is not a function
    at http://localhost:8100/build/main.js:74:21
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14976)
    at Object.onInvoke (http://localhost:8100/build/vendor.js:5134:33)
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14916)
    at r.run (http://localhost:8100/build/polyfills.js:3:10143)
    at http://localhost:8100/build/polyfills.js:3:20242
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660)
    at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5125:33)
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581)
    at r.runTask (http://localhost:8100/build/polyfills.js:3:10834)
    at c (http://localhost:8100/build/polyfills.js:3:19752)
    at http://localhost:8100/build/polyfills.js:3:20273
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15660)
    at Object.onInvokeTask (http://localhost:8100/build/vendor.js:5125:33)
    at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15581)
    at r.runTask (http://localhost:8100/build/polyfills.js:3:10834)
    at o (http://localhost:8100/build/polyfills.js:3:7894)
    at e.invokeTask [as invoke] (http://localhost:8100/build/polyfills.js:3:16823)
    at p (http://localhost:8100/build/polyfills.js:2:27648)
    at HTMLDocument.v (http://localhost:8100/build/polyfills.js:2:27893)

我不知道您使用的是哪个爱奥尼亚版本,因此我将尽力为您提供最佳解决方案:

离子1中的 您只需执行以下操作:

资料来源2:

编辑:

由于您想在InAppBrower网站上执行操作,我发现以下代码对您很有用:

var twitterWindow = window.open("https://twitter.com/", '_blank', 'location=no');
twitterWindow.addEventListener('loadstart',  function(event) {
                        alert("Current Event : "+ event.url);
                    });
资料来源3:


你只需要控制这个url并检查它是否是Twitter url。如果是一个,你只需要做一些像我之前的回答一样的事情。

嗨,我已经做了一些类似的事情,但不是我想要的。让我进一步解释一下,你的解决方案是在Ionic应用程序中安装一个按钮,但是,我想使用的按钮位于互联网上一个与Ionic没有链接的网站上。我目前正在应用程序内使用InApp browser打开网站。网站上有一个指向twitter页面的链接,我正在尝试使该按钮在安装时打开我的应用程序,而不仅仅是默认浏览器。Thanks@t3ch3如果您使用随机网络浏览器,网站是否会打开您的twitter应用程序?我猜你无法控制其他网站的内容。但是你可能能够检测到url何时改变,并且看起来像twitter的url。不,它不会。我在InAppBrowser文档中找到了一个关于EventListeners的部分,我现在正在浏览,也许这可以让我检测url的更改。谢谢,使用它和文档,我编写了一些看起来正确的东西,但我得到了一个错误。已使用代码编辑,但出现错误。@t3ch3尝试将“常量浏览器”替换为“变量浏览器”
import { InAppBrowser, AppAvailability, Device } from 'ionic-native';
launchExternalApp(iosSchemaName: string, androidPackageName: string, appUrl: string, httpUrl: string, username: string) {
let app: string;
if (Device.device.platform === 'iOS') {
    app = iosSchemaName;
} else if (Device.device.platform === 'Android') {
    app = androidPackageName;
} else {
    let browser = new InAppBrowser(httpUrl + username, '_system');
    return;
}

AppAvailability.check(app).then(
    () => { // success callback
        let browser = new InAppBrowser(appUrl + username, '_system');
    },
    () => { // error callback
        let browser = new InAppBrowser(httpUrl + username, '_system');
    }
);
}

openTwitter(username: string) {
    this.launchExternalApp('twitter://', 'com.twitter.android', 'twitter://user?screen_name=', 'https://twitter.com/', username);
}
var twitterWindow = window.open("https://twitter.com/", '_blank', 'location=no');
twitterWindow.addEventListener('loadstart',  function(event) {
                        alert("Current Event : "+ event.url);
                    });