Android意图有多个类别

时间:2014-03-07 01:27:19

标签: android android-intent android-manifest

我有一个代表用户发布推文的程序。一切都在AVD中有效。但是,我似乎无法让我的程序有一个图标。奇怪的是当我删除BROWSABLE类别和数据标签的行时,图标显示出来,程序正常显示在程序列表中。

我认为我的Android Manifest存在问题,但我似乎无法让一切正常。请帮忙!

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:theme="@style/Theme.AppCompat.Light"
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask" >
        <intent-filter>
            <category android:name="android.intent.category.BROWSABLE"/>
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.TAB"/>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.intent.action.VIEW"/>
            <data android:scheme="howsmydriving-oauth-twitter" android:host="callback"/>
        </intent-filter>
    </activity>

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <activity android:name="com.google.android.gms.ads.AdActivity"
         android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>

2 个答案:

答案 0 :(得分:5)

好吧,所以,我发现了我的问题。

我需要两个intent-filters。将意图过滤器部分更改为以下内容后,我可以在已安装的应用列表中查看我的应用并获取OAuth重定向:

        <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="howsmydriving-oauth-twitter" android:host="callback"/>
         </intent-filter>

答案 1 :(得分:1)

您缺少android:icon条目。它应该等于字符串@drawable/$NAME,即android:icon="@drawable/ic_launcher" This可能有帮助。