您的位置:首页 > 移动开发 > Android开发

onNewIntent 什么时候调用

2012-04-11 22:28 155 查看
protected void onNewIntent (Intent intent)

Since: API Level 1

This is called for activities that set launchMode to "singleTop" in their package, or if a client used theFLAG_ACTIVITY_SINGLE_TOP flag when calling startActivity(Intent). In either case, when the activity is re-launched while at the top of the activity stack
instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it.

An activity will always be paused before receiving a new intent, so you can count on onResume() being called after this method.

Note that getIntent() still returns the original Intent. You can use setIntent(Intent) to update it to this new Intent.

在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent

一、其他应用发Intent,执行下列方法:

I/@@@philn(12410): onCreate

I/@@@philn(12410): onStart

I/@@@philn(12410): onResume

发Intent的方法:

Uri uri = Uri.parse("philn://blog.163.com");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

二、接收Intent声明:

<activity android:name=".IntentActivity" android:launchMode="singleTask"

android:label="@string/testname">

<intent-filter>

<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="android.intent.category.BROWSABLE" />

<data android:scheme="philn"/>

</intent-filter>

</activity>

三、如果IntentActivity处于任务栈的顶端,也就是说之前打开过的Activity,现在处于

I/@@@philn(12410): onPause

I/@@@philn(12410): onStop 状态的话

其他应用再发送Intent的话,执行顺序为:

I/@@@philn(12410): onNewIntent

I/@@@philn(12410): onRestart

I/@@@philn(12410): onStart

I/@@@philn(12410): onResume
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android scheme 任务 api