plugin cordova ionic-framework cordova-plugins

plugin - Recibir URL en Ionic/Cordova



cordova-plugin-whitelist ionic 3 (2)

Para ayuda general y desarrollos recientes, quiero agregar una respuesta a esto.

Hay un complemento de cordova llamado esquema de URL personalizado . Para la documentación del plugin es sólida, no agrego más información.

Estoy intentando configurar una forma de recibir una URL de otra aplicación. Al igual que, estás en el navegador, haz clic en compartir y envía el enlace a otra aplicación (mi aplicación). Encontré este complemento de cordova y lo he integrado en mi aplicación, pero sigo sin mostrar ninguna URL cuando lo pruebo.

Recibo una alerta que dice:

getUri url: null

Cualquier ayuda sería genial. Feliz de agregar más código si es útil.

app.js :

''use strict''; // angular.module is a global place for creating, registering and retrieving Angular modules // ''starter'' is the name of this angular module example (also set in a <body> attribute in index.html) // the 2nd parameter is an array of ''requires'' angular.module(''starter'', [ ''ionic'', ''firebase'', ''starter.services'', ''starter.directives'', ''starter.controllers'', ''ngSanitize'' ]) .run(function($rootScope, $state, $ionicPlatform, Post) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory // bar above the keyboard for form inputs) if (window.cordova && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); } if (window.StatusBar) { // org.apache.cordova.statusbar required StatusBar.styleDefault(); }

Este es el webintent:

if (window.plugins && window.plugins.webintent) { window.plugins.webintent.getUri(function(url) { alert("getUri url:"+url); }); } $rootScope.$on(''$stateChangeError'', function(event, toState, toParams, fromState, fromParams, error) { $state.go(error); }); }); }) angular.module(''starter.services'', []); angular.module(''starter.directives'', []); angular.module(''starter.controllers'', []);

AndroidManifest.xml :

<?xml version=''1.0'' encoding=''utf-8''?> <manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="com.ionicframework.wefeed949805" 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="@drawable/icon" android:label="@string/app_name"> <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name="wefeed" android:theme="@android:style/Theme.Black.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> </manifest>


He estado trabajando en algo similar. Pude obtener la URL al usar este complemento de Initsogar

El complemento se puede encontrar aquí https://github.com/Initsogar/cordova-webintent

Puede obtener la url entrante de la siguiente manera:

var incomingURL window.plugins.webintent.getExtra(window.plugins.webintent.EXTRA_TEXT, function(url) { incomingURL = url console.log(incomingURL); }, function() { incomingURL = false; } );

Espero que esto ayude, ¡y buena suerte en la aplicación! Ionic es increíble :)