意图:Android 上的自定义操作

Intent: Custom Action On Android

我最近开始研究 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>

我调用activity如下:

final Intent loginIntent = new Intent(LoginActivity.LOGIN_ACTION);
startActivityForResult(loginIntent, LOGIN_REQUEST_ID);

我想没什么大不了的,因为一切正常,activity 工作得很好。我的问题是:
当我的 LoginActivity 使用该特定操作启动时,我该如何处理?我如何从特定操作启动中识别 "normal" 启动(没有特定操作)?

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

onCreate方法中你可以采取:

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

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

String filteredAction = getIntent().getAction();

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