2015-04-06 6 views
7

Quando aggiungo <data android:scheme="http" /> in AndroidManifest.xml, la mia app non viene più elencata nel programma di avvio. Perché?L'app non è elencata nel programma di avvio a causa di <data android: scheme = "http" /> in AndroidManifest.xml

AndroidManifest.xml senza <data android:scheme="http" />:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ebookfrenzy.mywebview" > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MyWebViewActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

AndroidManifest.xml con <data android:scheme="http" />:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ebookfrenzy.mywebview" > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MyWebViewActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <data android:scheme="http" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

risposta

17

A causa del processo di abbinamento/risoluzione intent-filtro, quando Android "mostra le applicazioni" nel programma di avvio , mostra l'elenco utilizzando il meccanismo di corrispondenza e quando aggiungi l'app non corrisponde, perché il sistema non lo fa quando si visualizza il programma di avvio.

La soluzione è creare un altro intent-filtro, per esempio:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ebookfrenzy.mywebview" > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MyWebViewActivity" 
      android:label="@string/app_name" > 
      <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" /> 
       <data android:scheme="http" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 
+0

mi ha aiutato con il mio problema - grazie e votato! –

2
  //Add this to your Activity 
      <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="@string/app_name" /> 
      </intent-filter> 
Problemi correlati