我想从我的应用程序启动 Android 设备中设置的系统更新屏幕。 我看到
android.settings.SYSTEM_UPDATE_SETTINGS
意图操作负责执行此操作,但当我尝试以此意图启动活动时,我的应用程序因 ActivityNotFoundException
崩溃。
然后我访问了谷歌开发人员关于设置类的官方文档,发现该类中不再存在此意图操作。 https://developer.android.com/reference/android/provider/Settings
这是否意味着谷歌已经限制应用程序现在启动系统更新屏幕,或者是否引入了新的内容来实现这一目标?
我尝试使用以下意图操作来启动系统更新屏幕。
/**
* Activity Action: Show settings for system update functionality.
* <p>
* In some cases, a matching Activity may not exist, so ensure you
* safeguard against this.
* <p>
* Input: Nothing.
* <p>
* Output: Nothing.
*
* @hide
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_SYSTEM_UPDATE_SETTINGS =
"android.settings.SYSTEM_UPDATE_SETTINGS";
根据医生
在某些情况下,匹配的活动可能不存在,因此请确保您 防止这种情况发生。
所以你唯一能做的就是检查是否有一个活动可以通过指定的操作来处理你的意图。使用片段:
public Boolean areSettingsAvailable(Context context, Intent intent) {
List<ResolveInfo>
activities = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return activities != null && activities.size() > 0; }