欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > MTK Android12 应用在最顶端时,禁止拉起其他某个应用(一)

MTK Android12 应用在最顶端时,禁止拉起其他某个应用(一)

2025/3/20 22:02:33 来源:https://blog.csdn.net/u013970897/article/details/146349272  浏览:    关键词:MTK Android12 应用在最顶端时,禁止拉起其他某个应用(一)

1、需求

近期,客户要求应用在最顶端时,禁止拉起其他某个应用

2、解决方法

diff --git a/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java b/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
index 0cd26b53d39..7e3037caecb 100644
--- a/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -31,6 +31,7 @@ import static android.app.ActivityTaskManager.INVALID_TASK_ID;import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
+import android.content.Context;import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
@@ -129,6 +130,7 @@ import com.android.server.wm.LaunchParamsController.LaunchParams;import java.io.PrintWriter;import java.text.DateFormat;import java.util.Date;
+import java.util.List;/*** Controller for interpreting how and then launching an activity.
@@ -802,6 +804,32 @@ class ActivityStarter {}return res;}
+	
+	
+	private boolean isForground() {
+        ActivityManager mActivityManager = (ActivityManager)mService.mContext.getSystemService(Context.ACTIVITY_SERVICE);
+        if (mActivityManager.getRunningTasks(1) == null) {
+            android.util.Log.d("hdxxx", "running task is null, ams is abnormal!!!");
+            return false;
+        }
+        List<ActivityManager.RunningTaskInfo> infoList = mActivityManager.getRunningTasks(1);
+        if(infoList.size() == 0){
+            android.util.Log.d("hxxx", "failed to get RunningTaskInfo");
+            return false;
+        }
+        ActivityManager.RunningTaskInfo mRunningTask = infoList.get(0);
+        if (mRunningTask == null) {
+            android.util.Log.d("hxxx", "failed to get RunningTaskInfo");
+            return false;
+        }
+        String pkgName = mRunningTask.topActivity.getPackageName();
+        android.util.Log.d("hxxx", "pkgName:" + pkgName);
+        if (pkgName.equals("*****")) {
+            return true;
+        }
+        return false;
+    }
+	/*** Executing activity start request and starts the journey of starting an activity. Here
@@ -959,7 +987,19 @@ class ActivityStarter {err = ActivityManager.START_NOT_VOICE_COMPATIBLE;}}
-
+		android.util.Log.d("hdxxx", "==============isForground():" + isForground());
+		if(isForground()){
+			if(intent!= null){
+				if(intent.getComponent()!= null){
+					String packageName = intent.getComponent().getPackageName();
+					if (packageName.equals("************")){
+						Slog.d("Activitystarter","start abort, sensor status abnormal");
+						return START_ABORTED;
+					}
+				}
+			}
+		}
+		final Task resultRootTask = resultRecord == null? null : resultRecord.getRootTask();

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词