1、创建activity
2.配置AndroidManifest.xml文件
<application..
<activity android:name=".NewActivity"
android:label=".."
android:launchMode="standard/singleTop/singleTask/singleInstance">
<intent-filter>
<!-- 程序入口 -->
<action android:name="android.intent.action.MAIN" />
<!--是否出现在启动页-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
launchMode:
standard:每次启动新的活动窗口(new操作)
singleTop:如果在栈顶是目标活动,则直接打开.否则开启新的活动窗口(new).
singleTask和singleInstance基本上相同.差别在于若根活动设置为singleTask时,则由此所开
启的活动也在同一任务中.而若根活动设置为singleInstance时,由此开启的活动在新的任务中.即
栈中只有一个活动.其余情况相同.
2.配置AndroidManifest.xml文件
<application..
<activity android:name=".NewActivity"
android:label=".."
android:configChanges="mcc|mnc"
android:launchMode="standard/singleTop/singleTask/singleInstance"/>
</application>
android:configChanges:
当所指定属性(Configuration Changes)发生改变时,通知程序调用
onConfigurationChanged()函数.
3.声明Activity权限(具有指定权限的组件才可调用)
<activity android:permission="cn.itcast.permission.secondwindow" />
<receiver android:permission="cn.itcast.permission.secondwindow" />
4.定义并使用权限
<permission android:name="cn.itcast.permission.secondwindow" />
<uses-permission android:name="cn.itcast.permission.secondwindow"/>
1.创建activity
XxxActivity extends Activity{...}
2.配置AndroidManifest.xml文件
<application..
<activity android:name=".NewActivity" android:label=".."
android:launchMode="standard/singleTop/singleTask/singleInstance"/>
</application>
3.打开新的activity(不需要返回值)
//显示意图
startActivity(new Intent(context,XxxActivity.class));
//传参数给意图
bundle = new Bundle();
bundle.setString(...);
intent.putExtra(bundle);
4.Intent中接受参数
conext.getIntent().getBundle().getString(..)
5.考察bundle类
3.为结果开始活动(startActivityForResult)
//1:请求码
startActivityForResult(new Intent(..),1);
4.处理返回后的结果
XxxActivity extends Activity{
...
//活动结束后,回调该方法
protected void onActivityResult(int reqCode,int resCode,Intent data) {
String result = data.getExtras().getString("result"));
}
...
}
5.设置意图的返回结果
Intent intent = new Intent();
intent.putExtra(..);
context.setResult(RESULT_OK, intent);
context.finish();