意图:Android上的自定义操作

时间:2015-03-24 11:18:39

标签: android android-intent action

我最近开始研究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时,我该如何处理它?如何识别特定动作启动时的“正常”启动(没有特定操作)?

感谢大家! (抱歉我的英语不好)

2 个答案:

答案 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()