activity啟動模式之singleInstance,singleinstance模式

來源:互聯網
上載者:User

activity啟動模式之singleInstance,singleinstance模式
activity啟動模式之singleInstance

一、簡介

Log.d("C2", getTaskId()+"");裡面的getTaskId()可以擷取activity棧的編號

 

二、代碼執行個體

結果圖:

 

代碼:

activity.C1

 1 package activity; 2  3  4  5  6  7 import com.example.activityLaunchSingleInstance.R; 8  9 import android.app.Activity;10 import android.content.Intent;11 import android.os.Bundle;12 import android.util.Log;13 import android.view.View;14 import android.view.View.OnClickListener;15 import android.widget.Button;16 17 18 19 public class C1 extends Activity implements OnClickListener{20     private Button btn_c1;//建立一個button對象21     private Button btn_c2;//建立一個button對象22     private Button btn_c3;//建立一個button對象23      protected void onCreate(Bundle savedInstanceState) {24             super.onCreate(savedInstanceState);//父類操作25             setContentView(R.layout.activity_main);//引入名為activity_main的介面26             Log.d("C1", getTaskId()+"");27             setTitle("我是C1");28             btn_c1=(Button) findViewById(R.id.btn_c1);//找id為btn_openActivity的button29             btn_c2=(Button) findViewById(R.id.btn_c2);//找id為btn_openActivity的button30             btn_c3=(Button) findViewById(R.id.btn_c3);//找id為btn_openActivity的button31             btn_c1.setOnClickListener(this);32             btn_c2.setOnClickListener(this);33             btn_c3.setOnClickListener(this);34         }35     @Override36     public void onClick(View v) {37         // TODO Auto-generated method stub38         switch (v.getId()) {39         case R.id.btn_c1:40             Intent intent=new Intent();41             intent.setClass(C1.this, C1.class);42             startActivity(intent);43             break;44         case R.id.btn_c2:45             Intent intent2=new Intent();46             intent2.setClass(C1.this, C2.class);47             startActivity(intent2);48             break;49         case R.id.btn_c3:50             Intent intent3=new Intent();51             intent3.setClass(C1.this, C3.class);52             startActivity(intent3);53             break;54         default:55             break;56         }57     }58 }

activity.C2

 1 package activity; 2  3  4  5  6  7 import com.example.activityLaunchSingleInstance.R; 8  9 import android.app.Activity;10 import android.content.Intent;11 import android.os.Bundle;12 import android.util.Log;13 import android.view.View;14 import android.view.View.OnClickListener;15 import android.widget.Button;16 import android.widget.Toast;17 18 19 20 public class C2 extends Activity implements OnClickListener{21     private Button btn_c1;//建立一個button對象22     private Button btn_c2;//建立一個button對象23     private Button btn_c3;//建立一個button對象24      protected void onCreate(Bundle savedInstanceState) {25             super.onCreate(savedInstanceState);//父類操作26             setContentView(R.layout.activity_main);//引入名為activity_main的介面27             Log.d("C2", getTaskId()+"");28             setTitle("我是C2");29             btn_c1=(Button) findViewById(R.id.btn_c1);//找id為btn_openActivity的button30             btn_c2=(Button) findViewById(R.id.btn_c2);//找id為btn_openActivity的button31             btn_c3=(Button) findViewById(R.id.btn_c3);//找id為btn_openActivity的button32             btn_c1.setOnClickListener(this);33             btn_c2.setOnClickListener(this);34             btn_c3.setOnClickListener(this);35         }36     @Override37     public void onClick(View v) {38         // TODO Auto-generated method stub39         switch (v.getId()) {40         case R.id.btn_c1:41             Intent intent=new Intent();42             intent.setClass(C2.this, C1.class);43             startActivity(intent);44             break;45         case R.id.btn_c2:46             Intent intent2=new Intent();47             intent2.setClass(C2.this, C2.class);48             startActivity(intent2);49             break;50         case R.id.btn_c3:51             Intent intent3=new Intent();52             intent3.setClass(C2.this, C3.class);53             startActivity(intent3);54             break;55         default:56             break;57         }58     }59     60     @Override61     protected void onNewIntent(Intent intent) {62         // TODO Auto-generated method stub63         super.onNewIntent(intent);64         Toast.makeText(this, "onNewIntent", Toast.LENGTH_SHORT).show();65         Log.d("C2", "onNewIntent");66     }67 }

activity.C3

 1 package activity; 2  3  4  5  6  7 import com.example.activityLaunchSingleInstance.R; 8  9 import android.app.Activity;10 import android.content.Intent;11 import android.os.Bundle;12 import android.util.Log;13 import android.view.View;14 import android.view.View.OnClickListener;15 import android.widget.Button;16 17 18 19 public class C3 extends Activity implements OnClickListener{20     private Button btn_c1;//建立一個button對象21     private Button btn_c2;//建立一個button對象22     private Button btn_c3;//建立一個button對象23      protected void onCreate(Bundle savedInstanceState) {24             super.onCreate(savedInstanceState);//父類操作25             setContentView(R.layout.activity_main);//引入名為activity_main的介面26             Log.d("C3", getTaskId()+"");27             setTitle("我是C3");28             btn_c1=(Button) findViewById(R.id.btn_c1);//找id為btn_openActivity的button29             btn_c2=(Button) findViewById(R.id.btn_c2);//找id為btn_openActivity的button30             btn_c3=(Button) findViewById(R.id.btn_c3);//找id為btn_openActivity的button31             btn_c1.setOnClickListener(this);32             btn_c2.setOnClickListener(this);33             btn_c3.setOnClickListener(this);34         }35     @Override36     public void onClick(View v) {37         // TODO Auto-generated method stub38         switch (v.getId()) {39         case R.id.btn_c1:40             Intent intent=new Intent();41             intent.setClass(C3.this, C1.class);42             startActivity(intent);43             break;44         case R.id.btn_c2:45             Intent intent2=new Intent();46             intent2.setClass(C3.this, C2.class);47             startActivity(intent2);48             break;49         case R.id.btn_c3:50             Intent intent3=new Intent();51             intent3.setClass(C3.this, C3.class);52             startActivity(intent3);53             break;54         default:55             break;56         }57     }58 }

/activityLaunchSingleInstance/AndroidManifest.xml

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2     package="com.example.activityLaunchSingleInstance" 3     android:versionCode="1" 4     android:versionName="1.0" > 5  6     <uses-sdk 7         android:minSdkVersion="8" 8         android:targetSdkVersion="19" /> 9 10     <application11         android:allowBackup="true"12         android:icon="@drawable/ic_launcher"13         android:label="@string/app_name"14         android:theme="@style/AppTheme" >15         <activity16             android:name="activity.C1"17             android:label="@string/app_name" >18             <intent-filter>19                 <action android:name="android.intent.action.MAIN" />20 21                 <category android:name="android.intent.category.LAUNCHER" />22             </intent-filter>23         </activity>24         <activity android:name="activity.C2" android:launchMode="singleInstance">25             <intent-filter>26                 <action android:name="com.example.activityLaunchSingleTask" />27                 <category android:name="android.intent.category.DEFAULT" />28             </intent-filter>29         </activity>30         <activity android:name="activity.C3"></activity>31     </application>32 33 </manifest>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.