【问题标题】:Enable Picture in Picture mode programmatically以编程方式启用画中画模式
【发布时间】:2019-05-25 01:10:17
【问题描述】:

我正在我的 Android 视频播放应用程序中进行设置活动,我想知道是否可以通过编程方式启用/禁用 PIP(画中画)模式。

为了澄清,我完全知道可以通过应用程序高级设置或通过特殊应用程序访问来更改此设置,但我想把它作为最后的手段。 (如果没有其他选择)。

此外,此 Activity 与视频线程页面本身是隔离的。(这意味着用户必须在进入此页面之前完全停止视频)。

我想要这个的主要原因是一个额外的提醒,这个应用程序支持这个功能,如果用户忘记在哪里重新激活这个功能。

把它想象成:增加另一层用户友好性

【问题讨论】:

  • “我完全知道可以通过应用程序高级设置或通过特殊应用程序访问来更改此设置”-我不知道您的意思。您使用普通 API:developer.android.com/guide/topics/ui/picture-in-picture
  • 正如我之前所说,用户可以通过设置->应用->(我们的应用名称)->高级或设置->特殊应用访问->画中-启用/禁用PIP图片
  • 如果您在清单中的某个 Activity 上有 android:supportsPictureInPicture="true",您的应用将自动出现在该列表中。用户仍然可以进入此设置屏幕并禁用您的画中画访问。如果是这样,AFAIK,您无法从应用程序中更改它。我什至不确定是否有官方的方式来说明该设置是什么。

标签: java android picture-in-picture


【解决方案1】:

这是检查设置的一种方法:

AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
return (AppOpsManager.MODE_ALLOWED == appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_PICTURE_IN_PICTURE,
        context.getApplicationInfo().uid, context.getPackageName()));

我没有尝试以编程方式设置它,但这可能是您的起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2021-08-09
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    相关资源
    最近更新 更多