gpt4 book ai didi

android - 以编程方式检查 Android OTA 系统更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:49 25 4
gpt4 key购买 nike

如果您转到“设置”->“关于手机”->“检查更新”,则会启动检查以查看是否有任何系统更新可供您的手机使用。

如何以编程方式执行此操作?此外,我试图在 Android 源代码中找到发生这种情况的位置,以便我可以完整地看到它并更好地理解它。有人有什么建议吗?

最佳答案

据我所知,没有已知的广播、 Intent 或 API 可以以编程方式执行此操作。

这取决于 ROM 和制造商。

例如,索尼使用一项服务,当 wifi 被激活时,该服务会在索尼的服务器上检查是否有任何更新并通知它。

但在谈论 AOSP 源代码时,我认为不会发生这种情况。

最近的系统更新点位于packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java

提示:grep res/values 目录中的字符串“System update”并使用反向词找出使用该字符串变量标识符的位置!

编辑:

这是一个广播接收器的例子:

public class SystemUpdateClass extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
if (intent.getAction().equals("android.settings.SYSTEM_UPDATE_SETTINGS")){
Toast.makeText(context,
"Yup! Received a system update broadcast",
Toast.LENGTH_SHORT).show();
}
}
}

这是一个示例代码,来自 Activity 的 onCreate:

SystemUpdateClass sysUpdate = new SystemUpdateClass();
IntentFilter filter = new IntentFilter();
filter.addAction("android.settings.SYSTEM_UPDATE_SETTINGS");
registerReceiver(sysUpdate, filter);

现在,应该发生的是你的应用程序应该接收广播,除非我误认为广播只针对系统签名的应用程序......但是剩下的留作练习:)

关于android - 以编程方式检查 Android OTA 系统更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836609/

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