android属性之excludeFromRecents

来源:互联网 发布:sql整形是多少位 编辑:程序博客网 时间:2024/06/06 02:45

此篇文章十分短小精悍,只需要花费你一到两分钟的时间,完全符合吃惯快餐口味的各位大神们。

有没有考虑过这样的特殊需求,APP启动后不想在recents中看到。话说什么是recents?通俗的讲就是android的多任务键,它可以看到我们最近使用过的应用,通过它可以快速应用切换。

下面介绍的这个属性就可以使我们的APP隐藏起来,通过一个实例进行学习理解。

MainActivity.java:

package com.example.administrator.myapplication;

import
android.os.Bundle;
import
android.support.v7.app.AppCompatActivity;
import
android.util.Log;

public class
MainActivity extends AppCompatActivity {
   public static final String TAG = "yayun";

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       
Log.d(TAG, "onCreate: taskId" + getTaskId());
       
setContentView(R.layout.activity_main);
   
}

}


它可以是空的、默认生成的。我们要关注的是AndroridMainifest.xml关于这个Activity的属性:

<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
   
package="com.example.administrator.myapplication">

   <application
       
android:allowBackup="true"
       
android:icon="@mipmap/ic_launcher"
       
android:label="@string/app_name"
       
android:supportsRtl="true"
       
android:theme="@style/AppTheme">
       <activity
           
android:name=".MainActivity"
           
android:excludeFromRecents="true">
           <intent-filter>
               <action
android:name="android.intent.action.MAIN" />

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

   </application>

</manifest>

主角出场了,它就是excludeFromRecents,从字面意思也很好理解它的用处。当然,其默认为false,也就是在Recents中显示,这里可以将其设置成true。它有什么效果?运行起来这个简单的项目,通过虚拟机一目了然:


可以看到,这里就一个Activity,也就是根Activity,它会影响其他Activity吗?我们可以在添加一个Activity,并通过一个按钮启动它。

此时MainActivity.java:

public void launch(View view) {
   Intent intent = new Intent();
   
intent.setAction("yayun");
   
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   
startActivity(intent);
}

AndroidMainfest.xml中添加一个Activity:

<activity android:name=".ActivityTest">
   <intent-filter>
       <action
android:name="yayun" />
       <category
android:name="android.intent.category.DEFAULT" />
   </intent-filter>
</activity>

运行项目:

也是有效果的,一般其使用也是放在根Activity中。忙碌一天了,回来还能坚持写个文章,着实不易,哈哈,喜欢的朋友分享一下吧。

最后,宣传一下我的书籍:(亚马逊和百度阅读有售)

《android百战经典》


《android控件操作二十四章经》



谢谢关注我的微信公众号,觉得好可以分享到朋友圈哦.

请关注我的新浪微博:AndroidTip

CSDN博客:http://blog.csdn.net/yayun0516








1 0