android 只起乙個Activity例項

2021-09-12 04:40:28 字數 914 閱讀 7784

在乙個activity中,多次呼叫startactivity()來啟動另乙個activity,要想只生成乙個activity例項,方法有兩種。

[b]方法一:設定起動模式 [/b]

乙個activity有四種啟動模式:standard, singletop, singletask, singleinstance。

standard: 標準模式,一呼叫startactivity()方法就會產生乙個新的例項。

singletop: 如果已經有乙個例項位於activity棧的頂部時,就不產生新的例項,而只是呼叫activity中的newinstance()方法。如果不位於棧頂,會產生乙個新的例項。

singletask: 會在乙個新的task中產生這個例項,以後每次呼叫都會使用這個,不會去產生新的例項了。

singleinstance: 這個跟singletask基本上是一樣,只有乙個區別:在這個模式下的activity例項所處的task中,只能有這個activity例項,不能有其他的例項。

這些啟動模式可以在功能清單檔案中進行設定,中的launchmode屬性。

[b]方法二:在intent中加標誌 [/b]

intent.flag_activity_reorder_to_front這個標誌表示:如果這個activity已經啟動了,就不產生新的activity,而只是把這個activity例項加到棧頂來就可以了。

**如下:

intent intent = new intent(reorderfour.this, reordertwo.class);

intent.addflags(intent.flag_activity_reorder_to_front);

startactivity(intent);

android 只起乙個Activity例項

在乙個activity中,多次呼叫startactivity 來啟動另乙個activity,要想只生成乙個activity例項,方法有兩種。b 方法一 設定起動模式 b 乙個activity有四種啟動模式 standard,singletop,singletask,singleinstance。st...

Android學習筆記1 建立乙個activity

內容均為google官方教程的學習筆記 實際執行效果 要點 1 對view可以指定寬度和長度為wrap content,即view可以根據其content的長寬來動態適應.比如上圖的text裡的輸入,如果換行,也會撐大text的高度.2 線性布局中可以用weight屬性來分配和填充布局的剩餘空間,如...

乙個apk呼叫另乙個apk的某個activity

功能 caller.apk呼叫callee.apk中的calleemainactivity和calleeloweractivity。定義 caller.apk 去呼叫的apk,包名為com.caller callee.apk 被呼叫的apk,包名為com.callee calleemainactiv...