检查屏幕是否在没有活动的MultiWindowMode中

时间:2016-09-29 07:56:00

标签: android android-7.0-nougat split-screen

如果我无法访问Activity,有没有办法找出屏幕是否被拆分? (从结构上讲,我无法调用isInMultiWindowMode方法。

我看到默认Activity#isInMultiWindowMode()实现是:

public boolean isInMultiWindowMode() {
    try {
        return ActivityManagerNative.getDefault().isInMultiWindowMode(mToken);
    } catch (RemoteException e) {
    }
    return false;
}

有解决方法吗?

2 个答案:

答案 0 :(得分:0)

在Fragment中你可以使用

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
    {
        if (((Activity)getContext()).isInMultiWindowMode())
        {
        }
    }

答案 1 :(得分:0)

我认为没有 String stringYouExtracted = referraltxt.getText().toString(); android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", stringYouExtracted); clipboard.setPrimaryClip(clip); Toast.makeText(getActivity(), "Copy coupon code copied to clickboard!", Toast.LENGTH_SHORT).show(); 的唯一方法是使用Activity,该{_1}}有权获取当前显示的窗口列表,并检查是否存在类型为{{ 1}}。

例如,您可以使用以下方法:

AccessibilityService

在收到窗口状态更改的辅助功能事件时选中此方法

AccessibilityWindowInfo.TYPE_SPLIT_SCREEN_DIVIDER