JSONのURLから取得するPDFファイルを開く必要があります。アプリチューザーのURLから直接PDFファイルを開く方法
このURLには、URLの最後にファイル拡張子が含まれていません。私はこのような何か試してみました:
final String pdfUrl = dataUrl.replace("data", "file") + "/x?filefield=" + tf.getFieldName() + "&context=\"" + dataItemIdModOne + "\"&skipcache=1";
SharedPreferences sharedPrefs = getActivity().getSharedPreferences(Constants.userDetails, MODE_PRIVATE);
String username = sharedPrefs.getString(Constants.user, "");
String password = sharedPrefs.getString(Constants.pass, "");
String userPassword = username + ":" + password;
final String basicAuth = "Basic " + new String(new Base64().encode(userPassword.getBytes()));
final Map<String, String> extraHeaders = new HashMap<>();
extraHeaders.put("Authorization", basicAuth);
pdfIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Uri uri = Uri.parse(pdfUrl);
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(uri,"*/*");
Bundle bundle = new Bundle();
bundle.putString("Authorization", basicAuth);
target.putExtra(Browser.EXTRA_HEADERS, bundle);
Intent intent = Intent.createChooser(target, "Open File");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getActivity(), "Please install PDF app", Toast.LENGTH_SHORT).show();
}
}
});
を私はちょうど直接で利用可能なPDFリーダーを開くには、彼/彼女は、ファイルを開くために魔女のアプリで選択するか、せいぜいますので、ユーザーにアプリチューを提示する必要があります彼/彼女のデバイス。
この実装では、アプリケーションの選択を取得します。ファイルを開くときにファイルが読み込まれますが、最後にファイルを開くことはできません。
このURLを持つドリルは、URLが呼び出されると、PDFファイル自体を含む別のURLにリダイレクトされるということです。しかし、私はその2番目のURLを見ることができません。また、ブラウザにURLを貼り付けると、ユーザー名とパスワードが要求されます(そのため、基本認証が必要です)。
ありがとうございます。