意图:Android上的自定义操作

意图:Android上的自定义操作,android,android-intent,action,Android,Android Intent,Action,我最近开始学习Android开发。自从我成为.NET多年以来,开始编写和创建我的第一个应用程序并不困难 我正在构建一个测试应用程序(用于研究prupose),我有一个LoginActivity,它有一个静态字符串字段,如下所示: public static final String LOGIN_ACTION = "com.sid.ugho.action.LOGIN_ACTION"; final Intent loginIntent = new Intent(LoginActivity.LOG

我最近开始学习Android开发。自从我成为.NET多年以来,开始编写和创建我的第一个应用程序并不困难

我正在构建一个测试应用程序(用于研究prupose),我有一个LoginActivity,它有一个静态字符串字段,如下所示:

 public static final String LOGIN_ACTION = "com.sid.ugho.action.LOGIN_ACTION";
final Intent loginIntent = new Intent(LoginActivity.LOGIN_ACTION);
startActivityForResult(loginIntent, LOGIN_REQUEST_ID);
在舱单上我有:

<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>
我想这没什么大不了的,因为这一切都很有效,所以这项活动非常有效。我的问题是:
当我的LoginActivity以该特定操作启动时,我如何处理它?如何从指定操作启动中识别“正常”启动(无指定操作)?

谢谢大家!
(对不起,我的英语不好)

onCreate
方法中,您可以采取:

Intent intent = getIntent();
String action = intent.getAction()

在LogInActivity中,您可以检索调用者意图的操作

String filteredAction = getIntent().getAction();

现在,如果有人用
LoginActivity.LOGIN\u ACTION
启动了您的
LoginActivity
,那么您将在
filteredAction
中获得
com.sid.ugho.ACTION.LOGIN\u ACTION
。但是如果LoginActivity不是通过action启动的,而是通过任何其他方式启动的,那么您将在
filteredAction
中获得
null

谢谢你的回答!