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());
ここで、getSelectedMediaSize(int 値) は 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の印刷ダイアログオプションを設定するのを手伝ってもらえますか?