2014-03-07 4 views
3

나는 사용자를 대신하여 트윗을 올리는 프로그램을 가지고 있습니다. 모든 것이 AVD에서 작동합니다. 그러나 내 프로그램에 아이콘이있는 것을 허용 할 수 없습니다. 이상한 점은 BROWSABLE 카테고리 및 데이터 태그에 대한 줄을 제거하면 아이콘이 나타나고 프로그램이 정상적으로 프로그램 목록에 나타납니다.여러 카테고리가있는 Android 의도

내 안드로이드 매니페스트에 문제가 있다고 생각하지만 모든 것이 제대로 작동하지 않는 것 같습니다. 도와주세요!

<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> 

답변

4

좋아, 그래서, 내 문제를 알아 냈다.

두 개의 의도 필터가 필요합니다. 인 텐트 필터 부분을 다음과 같이 변경하면 설치된 앱 목록에서 내 앱을보고 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

android:icon 항목이 누락되었습니다. 문자열이 @drawable/$NAME과 같아야합니다. 즉, android:icon="@drawable/ic_launcher"This 일 수 있습니다.

+0

사실 저는 그것을 방치했습니다. 그러나 프로그램이 올바르게 설치되면 기본 아이콘이 실제로 표시됩니다. – Namingwaysway