1

こんにちは!

私は多くのことを試しましたが、何もうまくいきませんでした。

状況: PDF ファイルをダウンロードしています (場所: /storage/sdcard0/MyFolder)。

onDownloadFinished - .pdf を開いています。

Windows で問題なく動作しています。

Adobe Reader を使用して Android で動作しています。

ただし、Adobe Reader がないと、Android では機能しません。理由はわかりません。

DownloadRequestedFile( requestParam, PersistentData::LOCAL_FILE_PATH, [](){

    QDesktopServices::openUrl( QUrl::fromLocalFile( PersistentData::LOCAL_FILE_PATH ) );
});

これは、ファイルを開くコマンドラインです

エラーログはこちら

E/AndroidRuntime(24835): FATAL EXCEPTION: Thread-1269
E/AndroidRuntime(24835): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/sdcard0/MyFolder/MyPDF.pdf }
E/AndroidRuntime(24835):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
E/AndroidRuntime(24835):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
E/AndroidRuntime(24835):    at android.app.Activity.startActivityForResult(Activity.java:3351)
E/AndroidRuntime(24835):    at android.app.Activity.startActivityForResult(Activity.java:3312)
E/AndroidRuntime(24835):    at android.app.Activity.startActivity(Activity.java:3522)
E/AndroidRuntime(24835):    at android.app.Activity.startActivity(Activity.java:3490)
E/AndroidRuntime(24835):    at org.qtproject.qt5.android.QtNative.openURL(QtNative.java:115)
E/AndroidRuntime(24835):    at dalvik.system.NativeStart.run(Native Method)

多分誰かが私を助けたり、ヒントをくれたりすることができますか? :)

4

1 に答える 1

0

おそらく、エラーメッセージに記載されているように簡単です:

インテントを処理するアクティビティが見つかりません

そのため、Adobe Reader がインストールされていないと、PDF ファイルを表示できる別のアプリケーションはありません。Thare も関連する議論です:

Android: 一部のデバイスで、ローカル HTML を開こうとすると例外が見つかりません - ブラウザーでファイル

この場合、QAndroidJniObject:: メソッドを使用する必要があります。

もう 1 つの解決策 - アクセス許可の問題が検出されました。

https://forum.qt.io/topic/44859/solved-qt-on-android-open-an-external-file

于 2015-10-21T15:23:57.733 に答える