HY! Expets我有两项活动 1- MainActivity 2-启动
我在使用Thread启动MainActivity
活动后,通过新意图开始我的Startup
活动。但是当我通过传递MainActivity
拼写为驼峰的情况并在内容过滤器标记<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 :(得分:0)
您可能希望定义intent for a specific component:
Intent startUpIntent = new Intent(Startup.this, MainActivity.class);
然后,您无需为清单中的<intent-filter>
打扰MainActivity
。
答案 1 :(得分: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
,您需要将ACTION_
部分替换为android.intent.action.
。由于它们是您正在使用的类中定义的常量,因此需要按照定义使用它们。
例如,以下两个声明不一样。它们定义并实例化两个不同的变量:
int myVariable = 1;
int MYVARIABLE = 1;
所以,你不能写:
<action android:name="android.intent.action.MAIN" />
作为
<action android:name="android.intent.action.main" />
或其他任何前者。
来自<action>
上的Android开发者资源页面:
将[Intent类中定义的标准操作]之一指定给 这个属性,前置“android.intent.action”。到那个字符串 遵循ACTION_。例如,对于ACTION_MAIN,请使用 “android.intent.action.MAIN”和ACTION_WEB_SEARCH,请使用 “android.intent.action.WEB_SEARCH”。
详细了解: