Android samples API Demos之UI篇3(Activitytasks——DocumentCentricRelinquishIdentity)

This blog post discusses the Android DocumentCentricRelinquishIdentity sample, demonstrating how to modify Activity identity in a task stack. It explains the behavior when the attribute is set to true or false, affecting baseIntent and TaskDescription properties in recent tasks." 20378693,1176498,MapReduce组件详解,"['大数据开发', 'Hadoop', 'MapReduce框架']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android DocumentCentricRelinquishIdentity Sample

This sample shows how to relinquish identity to activities above it in the task stack.

此示例演示如何修改掉Activitys的身份标示,然后把它放入到任务堆栈活动中。

 <activity
            android:name=".RelinquishIdentityActivity"
            android:label="@string/activity_relinquish_title"
            android:relinquishTaskIdentity="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

关于其中的android:relinquishTaskIdentity这个属性,我真的不了解,下面是这个属性的说明:

Tasks whose root has this attribute set to true will replace baseIntent with that of the next activity in the task. If the next activity also has this attribute set to true then it will yield the baseIntent to any activity that it launches in the same task. This continues until an activity is encountered which has this attribute set to false. False is the default. This attribute set to true also permits activity's use of the TaskDescription to change labels, colors and icons in the recent task list.
任务的根具有此属性设置为 true 将替换 baseIntent,该任务的下一个活动。如果下一个活动也具有此属性设置为 true,则它会屈服于任何活动 baseIntent,它将启动相同的任务。这样下去直到活动遇到具有此属性设置为 false。假的是默认的。此属性设置为 true,也允许活动的使用的 TaskDescription 更改标签、 颜色和最近的任务列表中的图标。

我把这个设置为false,效果也和设置成true是一样,暂时还是不太理解。

这次,还是没有多少要说的,主要是新的api使用。

第一个Activity:

public class RelinquishIdentityActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_relinquish_identity);
    }

    public void createNewDocument(View view) {
        final Intent intent = newDocumentIntent();
        startActivity(intent);
    }

    /**
     * Returns an new intent to start {@link NewDocumentActivity}
     * as a new document in recents..
     *///因为设置了下面的属性,所以新的Activity出现在新的task中
    private Intent newDocumentIntent() {
        final Intent newDocumentIntent = new Intent(this, NewDocumentActivity.class);
        newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
        // Always launch in a new task.
        newDocumentIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
        return newDocumentIntent;
    }

}
第二个Activity:
public class NewDocumentActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_document);
        // Set a new task description to change label and icon
        setTaskDescription(newTaskDescription());
    }

    /**
     * Creates a new {@link android.app.ActivityManager.TaskDescription} with a new label and icon to change the
     * appearance of this activity in the recents stack.
     */设置关于本Activity的task说明,图标和文字
    private ActivityManager.TaskDescription newTaskDescription() {
        Bitmap newIcon = BitmapFactory.decodeResource(getResources(), R.drawable.new_icon);
        String newDocumentRecentsLabel = getString(R.string.new_document_recents_label);
        ActivityManager.TaskDescription newTaskDescription = new ActivityManager.TaskDescription(
                newDocumentRecentsLabel, newIcon);
        return newTaskDescription;
    }

}

截图:需要按home退出,然后在进程列表中看出,




List of Sample Apps The list below provides a summary of the sample applications that are available with the Android SDK. Using the links on this page, you can view the source files of the sample applications in your browser. You can also download the source of these samples into your SDK, then modify and reuse it as you need. For more information, see Getting the Samples. API Demos A variety of small applications that demonstrate an extensive collection of framework topics. Backup and Restore A simple example that illustrates a few different ways for an application to implement support for the Android data backup and restore mechanism. Bluetooth Chat An application for two-way text messaging over Bluetooth. BusinessCard An application that demonstrates how to launch the built-in contact picker from within an activity. This sample also uses reflection to ensure that the correct version of the contacts API is used, depending on which API level the application is running under. Contact Manager An application that demonstrates how to query the system contacts provider using the ContactsContract API, as well as insert contacts into a specific account. Home A home screen replacement application. JetBoy A game that demonstrates the SONiVOX JET interactive music technology, with JetPlayer. Live Wallpaper An application that demonstrates how to create a live wallpaper and bundle it in an application that users can install on their devices. Lunar Lander A classic Lunar Lander game. Multiple Resolutions A sample application that shows how to use resource directory qualifiers to provide different resources for different screen configurations. Note Pad An application for saving notes. Similar (but not identical) to the Notepad tutorial. SampleSyncAdapter Demonstrates how an application can communicate with a cloud-based service and synchronize its data with data stored locally in a content provider. The sample uses two related parts of the Android framework — the account manager and the synchronization manager (through a sync adapter). Searchable Dictionary A sample application that demonstrates Android&#39;s search framework, including how to provide search suggestions for Quick Search Box. Snake An implementation of the classic game "Snake." Soft Keyboard An example of writing an input method for a software keyboard. Spinner A simple application that serves as an application-under-test for the SpinnerTest sample application. SpinnerTest An example test application that contains test cases run against the Spinner sample application. To learn more about the application and how to run it, please read the Activity Testing tutorial. TicTacToeLib An example of an Android library project that provides a game-play Activity to any dependent application project. For an example of how an application can use the code and resources in an Android library project, see the TicTacToeMain sample application. TicTacToeMain An example of an Android application that makes use of code and resources provided in an Android library project. Specifically, this application uses code and resources provided in the TicTacToeLib library project. Wiktionary An example of creating interactive widgets for display on the Android home screen. Wiktionary (Simplified) A simple Android home screen widgets example.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值