我最近开始研究Android开发。由于我多年来一直是.NET,所以开始编码和创建我的第一个应用程序并不是很困难。
我正在构建一个测试应用程序(用于学习专业),我有一个LoginActivity,它有一个静态字符串字段,如下所示:
public static final String LOGIN_ACTION = "com.sid.ugho.action.LOGIN_ACTION";
在清单中我有:
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login" >
<intent-filter>
<action android:name="com.sid.ugho.action.LOGIN_ACTION"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我将活动称为如下:
final Intent loginIntent = new Intent(LoginActivity.LOGIN_ACTION);
startActivityForResult(loginIntent, LOGIN_REQUEST_ID);
没什么大不了的,因为一切正常,活动完美无缺。我的问题是:
当使用该特定操作启动我的LoginActivity时,我该如何处理它?如何识别特定动作启动时的“正常”启动(没有特定操作)?
感谢大家! (抱歉我的英语不好)
答案 0 :(得分:2)
在LogInActivity中,您可以检索调用者意图的操作。
String filteredAction = getIntent().getAction();
现在,如果有人使用LoginActivity
推出了LoginActivity.LOGIN_ACTION
,那么您将com.sid.ugho.action.LOGIN_ACTION
中获得filteredAction
。但是,如果LoginActivity未使用操作而不是以任何其他方式启动,那么您将在null
中获得filteredAction
。
答案 1 :(得分:0)
您可以使用onCreate
方法:
Intent intent = getIntent();
String action = intent.getAction()