意图: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
。
我最近开始研究 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
。