Android14——Launcher3解决相册微件拖动添加到屏幕失败的问题
其实不仅仅是相册微件拖动失败,还有其他的微件也有的是拖动失败的,其实这个问题是Android源码升级后,加了一个安全的保护,将那些长时间会占用内存的程序进行一个阻塞,所以导致添加微件被自动阻断了,我们仅需要将其给注释掉即可,对其它没有什么影响的。
frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
if (!abort) {
try {
Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER,
"shouldAbortBackgroundActivityStart");
BackgroundActivityStartController balController =
mController.getBackgroundActivityLaunchController();
balCode =
balController.checkBackgroundActivityStart(
callingUid,
callingPid,
callingPackage,
realCallingUid,
realCallingPid,
callerApp,
request.originatingPendingIntent,
request.backgroundStartPrivileges,
intent,
checkedOptions);
if (balCode != BAL_ALLOW_DEFAULT) {
request.logMessage.append(" (").append(
BackgroundActivityStartController.balCodeToString(balCode))
.append(")");
}
} finally {
Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
}
}
我们将这个代码进行注释掉,微件就可以正常的添加成功了。