【问题标题】:Android intents with multiple categories具有多个类别的 Android 意图
【发布时间】:2014-03-07 01:27:19
【问题描述】:

我有一个代表用户发布推文的程序。一切都在 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>

【问题讨论】:

    标签: android android-intent android-manifest


    【解决方案1】:

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

    为此,我需要两个意图过滤器。将意图过滤器部分更改为以下内容允许我在已安装的应用列表中查看我的应用并获得 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>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我确实有,只是忽略了包含它。但是当程序正确安装时,默认图标确实会出现。
      猜你喜欢
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      相关资源
      最近更新 更多