2013-07-04 51 views
0

我創建了一個具有兩個活動(Activity1和Activity2)的Android應用程序,我需要以兩種方式打開該應用程序。Android-如何以編程方式檢查意圖過濾器的類型?

方法1:通過NFC卡

通過這種方式,我需要打開活動1。即,如果我刷卡,我需要打開Activity1。

方式二:按圖標

通過這種方式,我需要打開活動2 .IE,如果用戶點擊活性2必須打開該圖標。

我AndroidManifest.xml中如下圖所示,

............... 
    ............... 
    ............... 
    <activity 
     android:name=".Activity1" 
     android:screenOrientation="portrait" 
     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.nfc.action.NDEF_DISCOVERED" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="android.intent.action.PICK" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="text/plain" /> 
     </intent-filter> 





    </activity> 
    ....................... 
    ....................... 
    ....................... 

在活動1我只是想通過

if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) 


{ 
// Here I'm dealing with Activity1. 
} 



else 
{ 
// Here I've set an Intent to go to Activity2. 
} 

你可以看一下其他地方的塊我設置的意圖,要獲得類型轉到Activity2,但我需要直接轉到Activity2而不進入Activity1。

如何實現這一目標?請幫助

回答

1

如果用戶點擊啓動器中的圖標選擇打開的活動由LAUNCHER類別決定。因此,如果你定義在清單中的第二個活動和移動這些線條給它,即從Activity1刪除它,然後把它添加到Activity2應該工作:那麼,對於用戶調用您的應用程序

<category android:name="android.intent.category.LAUNCHER" /> 
<action android:name="android.intent.action.MAIN" /> 

Activity2被觸發,但其他意圖仍然會觸發Activity1

參考文獻:

+0

謝謝您的回答:)它現在的工作:) –

相關問題