Autore Topic: Aprire URL da shortcut creato nella homescreen  (Letto 509 volte)

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Aprire URL da shortcut creato nella homescreen
« il: 15 Agosto 2014, 14:37:38 CEST »
0
Ciao a tutti!
sto sviluppando un mini browser per android. Ho creato l'activity che raccoglie tutti i preferiti e ho fatto si che al click prolungato su un preferiti si apra un context menu che raccoglie varie voci tra le quali la possibilità di create un shortcut del sito nella home screen di android. Il tutto funziona a parte il fatto che quando clicco il shortcut creato, si apre il browser di default, mentre io vorrei che partisse la mia webview.

Qui sotto trovate il codice che ho utilizzato:

Codice (Java): [Seleziona]
case R.id.contextMenuShortcut:
String shortcutLink = preferito_wAddress.get(position);
                        Intent shortcutIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(shortcutLink));
                               
                        Intent apriPreferito = new Intent();
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_NAME, preferito_wName.get(position));
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.prefs));
                        apriPreferito.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
                        getApplicationContext().sendBroadcast(apriPreferito);
                        Toast.makeText(DisplayPreferitiActivity.this, "Collegamento creato correttamente", Toast.LENGTH_SHORT).show();
return true;

Grazie in anticipo!

Offline ignaz

  • Utente junior
  • **
  • Post: 54
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s2
  • Sistema operativo:
    Win 7 64bit
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #1 il: 16 Agosto 2014, 16:04:51 CEST »
0
credo che tu debba salvare il link con una estensione diversa e trovare il modo di associare l'estensione alla tua app.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #2 il: 16 Agosto 2014, 18:17:41 CEST »
0
magari puoi registrare la tua app per un actionView, cosi compare anch' essa nel menu "apri con"

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #3 il: 17 Agosto 2014, 17:33:41 CEST »
0
magari puoi registrare la tua app per un actionView, cosi compare anch' essa nel menu "apri con"

Ho seguito il tuo consiglio, ma purtroppo il risultato è lo stesso.

La mia app appare nel menu APRI CON, ma se scelgo il browser di default si apre il link salvato nello shortcut, mentre se scelgo il mio si apre sempre la pagina iniziale predefinita. Percaso nell'oncreate devo implementare il metodo per ricevere l'intent dallo shortcut?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #4 il: 17 Agosto 2014, 17:34:57 CEST »
0
Non l'ho mai fatto. ma se registri la tua app per l'action view, devi comunque gestire quel extra

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #5 il: 18 Agosto 2014, 08:57:41 CEST »
0
Sono riuscito a scovare il metodo per aprire dal mio browser l'URL che viene dallo shortcut. ora però questo entra in conflitto con la possibilità di aprire la pagina iniziale preferita che l'utente definisce nelle preference. Quindi chiedo: esiste un modo/metodo per fare in modo che la mia webview apra URL in base all'intent? Cioè se apro la mia app normalmente voglio che carichi la pagina iniziale mentre se clicco sullo shortcut apra il relativo link.
Grazie.

EDIT:
Siccome non so più dove sbattere la testa, Vi posto l'intera classe della mia webView; se qualcuno riesce ad aiutarmi...:

EDIT 2:
Ho risolto. Se a qualcuno puo' servire:

-creare lo shortcut nella home screen(nel mio caso da un context menu)
Codice (Java): [Seleziona]
case R.id.contextMenuShortcut:
String shortcutLink = preferito_wAddress.get(position);
                        Intent shortcutIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(shortcutLink));
                               
                        Intent apriPreferito = new Intent();
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_NAME, preferito_wName.get(position));
                        apriPreferito.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.prefs));
                        apriPreferito.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
                        getApplicationContext().sendBroadcast(apriPreferito);
                        Toast.makeText(DisplayPreferitiActivity.this, "Collegamento creato correttamente", Toast.LENGTH_SHORT).show();
return true;

-ho inserito questo metodo nell'oncreate dell'activity che riceve l'intent dallo shortcut
Codice (Java): [Seleziona]
//ricevo l'intent dallo shortcut creato nella homescreen
Intent shortcutIntent = getIntent();
Uri data = shortcutIntent.getData();
URL url = null;
    try {
        url = new URL(data.getScheme(), data.getHost(), data.getPath());
        webView.loadUrl(url.toString());
    } catch (Exception e) {
        e.printStackTrace();
   }

-nel manifest, all'interno del tag <activity>:
Codice (XML): [Seleziona]
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http"/>
</intent-filter>
   
Grazie.
« Ultima modifica: 19 Agosto 2014, 15:35:45 CEST da birbantello85 »

Offline ignaz

  • Utente junior
  • **
  • Post: 54
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Galaxy s2
  • Sistema operativo:
    Win 7 64bit
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #6 il: 19 Agosto 2014, 15:16:46 CEST »
0
Scusa ma quando carichi il programma della shortcut l'indirizzo in qualche modo viene passato alla tua web view. Non riesci a controllare?
Se non sbaglio nella webview puoi intercettare l'indirizzo che stai caricando, potresti controllare li e capire se stai caricando la shortcut o il preferito.

Inviato dal mio Nexus 10 utilizzando Tapatalk


Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Aprire URL da shortcut creato nella homescreen
« Risposta #7 il: 19 Agosto 2014, 15:27:16 CEST »
0
Scusa ma quando carichi il programma della shortcut l'indirizzo in qualche modo viene passato alla tua web view. Non riesci a controllare?
Se non sbaglio nella webview puoi intercettare l'indirizzo che stai caricando, potresti controllare li e capire se stai caricando la shortcut o il preferito.

Inviato dal mio Nexus 10 utilizzando Tapatalk

Ho risolto.Grazie.
Al post precedente il tuo ho inserito il risultato.