2011-01-19 12 views
5

Ho bisogno del browser per avviare la mia app ogni volta che inserisco "myapp: //blah.com/a? B = 1 & c = 2 "nel browser. Ho cercato molto su questo argomento, ma nessuna delle risposte mi ha veramente aiutato. Potresti per favore aiutare a capire cosa mi manca?Come avviare l'app dal browser Android, quando digito "myapp: //" nella barra degli indirizzi

<activity android:name=".MyAppMain" 
       android:label="@string/app_name" 
       android:configChanges="keyboardHidden|orientation" 
       android:screenOrientation="portrait"> 
     <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.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="myapp" /> 
     </intent-filter> 
    </activity> 

Dopo l'installazione da Eclipse (eseguito come applicazione Android) la mia applicazione può funzionare bene da solo, ma quando digito "myapp:? //blah.com/a b = 1 & c = 2" , il browser è semplicemente googling per questa stringa. Potresti indicare cos'altro mi manca? Ho bisogno dopo l'installazione di registrarmi in qualche modo nel sistema che voglio gestire "myapp: //" urls?

+0

Funziona se si utilizza solo uno '' nel manifest? –

+0

No, Daniel, è ancora googling :-) – user789175

+0

@ user789175 hai capito? – Phil

risposta

0

Ho fatto questo utilizzando il

<activity android:name=".ReceiveInviteActivity"> 

      <intent-filter > 
       <category android:name="android.intent.category.BROWSABLE" /> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 

       <data 
       android:scheme="appname" 
       android:host="project.example.com" 

       /> 
      </intent-filter> 

     </activity> 

e l'attività

if (Intent.ACTION_VIEW.equals(action)) { 
      final List<String> segments = intent.getData().getPathSegments(); 
      Log.d("LISTARRAY",segments.toString()); 
      String idString = segments.get(0); 
      Log.d("LISTITEM",segments.get(0).getClass().toString()); 
      String friendId = idString.substring((idString.indexOf("="))+1); 
      Log.d("friendId!",friendId); 

Spero che questo vi aiuterà.

Problemi correlati