Android 打印对话框选项

Android Print Dialog Options

我一直在尝试将 android 打印对话框选项预设为用户定义的设置。但是无论我为 printAttributes 提供什么选项,我在对话框中默认只获得 ISO_A4 页面大小。

以下是我一直在使用的代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

             int pageTypeValue = Integer.parseInt(mSettingsPreferences.getString(Utility.SETTINGS_PDF_SIZE_TYPE, "4"));

            PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
            String jobName = getString(R.string.app_name) + " Document";

            PrintAttributes.Builder builder = new PrintAttributes.Builder();
            builder.setMediaSize(getSelectedMediaSize(pageTypeValue));


            printManager.print(jobName, new MyPrintAdapter("name_of_file", mFile, FinalPrescriptionActivity.this), builder.build());

where getSelectedMediaSize(int value) returns MediaSize:

public PrintAttributes.MediaSize getSelectedMediaSize(int pageType) {

    switch (pageType) {
        case (0):
            return PrintAttributes.MediaSize.ISO_A0;
        case 1:
            return PrintAttributes.MediaSize.ISO_A1;
        case 2:
            return PrintAttributes.MediaSize.ISO_A2;
        case 3:
            return PrintAttributes.MediaSize.ISO_A3;
        case 4:
            return PrintAttributes.MediaSize.ISO_A4;
        case 5:
            return PrintAttributes.MediaSize.ISO_A5;
        case 6:
            return PrintAttributes.MediaSize.ISO_A6;
        case 7:
            return PrintAttributes.MediaSize.ISO_A7;
        case 8:
            return PrintAttributes.MediaSize.ISO_A8;
        case 9:
            return PrintAttributes.MediaSize.NA_LETTER;
        case 10:
            return PrintAttributes.MediaSize.NA_INDEX_3X5;

        }
    return  null;
    }

有人可以帮我设置 android 打印对话框选项吗?

请看我的回答here。我认为如果您在 N 设备上测试,您的代码应该可以工作