gpt4 book ai didi

android - 在系统应用程序中使用 sendBroadcast

转载 作者:可可西里 更新时间:2023-11-01 19:06:14 31 4
gpt4 key购买 nike

我在从作为系统应用程序加载到自定义 ROM 中的应用程序发送 Broadcast 时遇到问题(使用 android:sharedUserId="android.uid.system"Manifest 中。

我遇到的问题是在尝试执行简单的 sendBroadcast 时:

Intent newIntent = new Intent(intent.getExtras().getString(BUNDLE_ACTION_TO_REPLY_ON));
newIntent.putExtra(BUNDLE_FILE_URI, bitmapFile.getAbsolutePath());
newIntent.putExtra(BUNDLE_REPLY_WIDTH, width);
newIntent.putExtra(BUNDLE_REPLY_HEIGHT, height);
newIntent.putExtra(BUNDLE_REPLY_EXTRA, extra);
context.sendBroadcast(newIntent);

我在 Logcat 中收到此警告:

在没有合格用户的情况下调用系统进程中的方法

这是由 ContextImpl.java 抽出的在 warnIfCallingFromSystemProcess() 进程中。

有人知道为什么(以及我是否需要“修复”它)吗?

最佳答案

使用下面的函数代替 sendBroadcast(Intent intent)

void sendBroadcastAsUser(Intent intent, UserHandle user)

例如:

context.sendBroadcastAsUser(newIntent, new UserHandle(UserHandle.USER_CURRENT));

关于android - 在系统应用程序中使用 sendBroadcast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013787/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com