2012-09-05 66 views
4

這是一個比較Intents的正確方法嗎?我從來沒有到的if/else無論傳入Intentandroid.Intent.action.VIEW(價值intent.getAction()返回):這是一個比較Intents的正確方法嗎?

private void handleIntent(Intent intent) { 
Log.d(TAG, intent.getAction()); // -> android.Intent.action.VIEW 
      if (Intent.ACTION_VIEW.equals(intent.getAction())) { 
       ShowToast.showToast(this, "Something..."); // Never get here 
      } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
       String query = intent.getStringExtra(SearchManager.QUERY); 
       showResults(query); 
      } 
     } 

更新:爲什麼intent.getAction()回報android.Intent.action.VIEW(大寫的 'i'),而它應該返回android.intent.action.VIEW,如specification

+0

什麼是錯的,正確的字符串應該是「機器人。 intent.action.VIEW「與」意圖「中的小寫」i「。 – Joe

+0

@Joe,確實只是注意到了。很奇怪...... – Eugene

+1

看看你是否能找到發送Intent的代碼,很可能是那裏有一個錯誤。 – Joe

回答

2

我發現首都'我'來自哪裏。只要我使用的是SearchView我指定要使用什麼Intent當新Activity會自己啓動,所以我只是犯了一個錯誤的位置:

<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
      android:label="@string/appname" 
      android:hint="@string/search_hint" 
      android:searchSuggestAuthority="my.package.dataproviders.TicketSuggestionProvider" 
      android:searchSuggestIntentData="content://my.package.dataproviders.TicketSuggestionProvider/titleslist" 
      android:searchSuggestIntentAction="android.Intent.action.VIEW" // HERE IT IS 
      android:searchSuggestSelection=" ?"> 
</searchable> 
+0

您可能剛剛從https://developer.android.com/guide/topics/search/adding-custom-suggestions.html複製了錯誤 - 他們在5次中使用了大寫'i'2。當我從該頁面複製一行XML時,我也是如此。 –

相關問題