1.在需要跳转的指定页面的AndroidManifest中配置
<activity android:name=".activity.goods.GoodsDetail" android:configChanges="keyboardHidden|orientation|screenSize" //点击返回时跳转的activity android:parentActivityName=".MainActivity" android:screenOrientation="portrait"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> <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:host="my.com" android:scheme="m" /> </intent-filter> </activity>
2.在指定页面的接值
Intent i_getvalue = getIntent(); String action = i_getvalue.getAction(); if (Intent.ACTION_VIEW.equals(action)) { Uri uri = i_getvalue.getData(); if (uri != null) { itemId = uri.getQueryParameter("id"); } } else { itemId = getIntent().getStringExtra("id"); }
3.指定页面返回键的处理
@Override public void onBackPressed() { if (isLaunchedActivity(context, MainActivity.class)) { Intent upIntent = NavUtils.getParentActivityIntent(this); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { TaskStackBuilder.create(this) .addNextIntentWithParentStack(upIntent) .startActivities(); } else { upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); NavUtils.navigateUpTo(this, upIntent); } } else { Intent intent = new Intent(this, MainActivity.class); startActivity(intent); } super.onBackPressed(); } /** * 判断目标activity是否启动 * * @param context * @param clazz 传入ACT_main * @return */ public boolean isLaunchedActivity(@NonNull Context context, Class<?> clazz) { Intent intent = new Intent(context, clazz); ComponentName cmpName = intent.resolveActivity(context.getPackageManager()); boolean flag = false; if (cmpName != null) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> taskInfoList = am.getRunningTasks(10); for (ActivityManager.RunningTaskInfo taskInfo : taskInfoList) { if (taskInfo.baseActivity.equals(cmpName)) { flag = true; break; } } } return flag; }
HTML中的代码:
结束