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();