首页 / 操作系统 / Linux / Android中活动Activity方面的知识点
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.创建activityXxxActivity 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();