2013-07-28 29 views
2

Hy! Expets我有兩個活動 1- MainActivity 2-啓動當我在駱駝案件中使用活動它會給出錯誤,但工作正常拼寫大寫

我開始我通過新的意圖MainActivity活動開始使用線程Startup活動後。但是當我通過傳遞MainActivity駱駝拼寫的情況下INTEN和過濾器內標籤<action android:name="com.example.test.MainActivity"調用新的意圖如下圖所示

Thread timer =new Thread(){ 
public void run(){ 
try{ 
sleep(5000); 
}catch(InterruptedException e){ 
e.printStackTrace(); 
}finally{ 
Intent startUpIntent = new Intent("com.example.test.MainActivity");       

startActivity(startUpIntent); 
        } 
       } 
      }; 

這裏是AndroidMaifest.xml文件代碼

<activity 
     android:name="com.example.test.Startup" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="com.example.newboston.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="com.example.test.MainActivity" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

提示錯誤。 但是當我使用代碼

Intent startUpIntent = new Intent("com.example.test.MainActivity");       

AndroidManifest.xml中的代碼

<intent-filter> 
<action android:name="com.example.test.MainActivity" /> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

然後正常工作,因爲我想要的。

我想知道理由使用大寫字母拼寫,而不是駱駝情況。???

感謝名單...

回答

0

你可能要被定義intent for a specific component

Intent startUpIntent = new Intent(Startup.this, MainActivity.class); 

那麼你並不需要在你的清單與<intent-filter>打擾了MainActivity

+0

感謝名單@Ted霍普。但你能告訴我理由是什麼問題與我的方法。 – FAISAL

+0

@LASIAF - 坦率地說,我沒有看到你說的「給出錯誤」的代碼和你說的代碼的區別。你說「它給錯誤」;什麼錯誤? –

+0

它不會在拼寫爲駱駝的情況下啓動活動。 – FAISAL

0

有許多在Intent類定義的動作常量。其中一些是:

ACTION_MAIN: Start up as the initial activity of a task, with no data input and no returned output. 

ACTION_CALL: Initiate a phone call. 

ACTION_EDIT: Display data for the user to edit. 

要在您的清單ACTION MAIN,你會android.intent.action.取代ACTION_部分。由於它們是您正在使用的類中定義的常量,因此需要按照定義使用它們。

例如,下面的兩個聲明是不一樣的。他們定義和實例化兩個不同的變量:

int myVariable = 1; 
int MYVARIABLE = 1; 

所以,你可以不寫:

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

<action android:name="android.intent.action.main" /> 

或其他前者東西。

從Android開發者資源頁面上<action>

分配給此屬性[在Intent類中定義的標準動作]到 ,在前面加上一個「android.intent.action。」到 遵循ACTION_的字符串。例如,對於ACTION_MAIN,使用 「android.intent.action.MAIN」 和ACTION_WEB_SEARCH,使用 「android.intent.action.WEB_SEARCH」。

更多地集中在這個讀了起來:

Intent

action

相關問題