0

これが単純であることを望んでいますが、何が起こっているのかについてはかなり混乱しています。アプリの他の場所からコピーしたコードを使用して、AndroidアクティビティのImagebuttonからPDFを起動しています。

if (v==imagebutton20) {

                File file = new File("/sdcard/documents/20.pdf");
                  if (file.exists()) {
                        Uri path = Uri.fromFile(file);
                        Intent intent = new Intent(Intent.ACTION_VIEW);
                        intent.setDataAndType(path, "application/pdf");
                        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                        try {
                            startActivity(intent);
                            overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
                        } 
                        catch (ActivityNotFoundException e) {

                        }
                  }
            }   //end of   load

PDFは正常に読み込まれますが、PDFを起動したアクティビティを押し戻すと、表示されません。代わりに、前のアクティビティに戻ります。コメントアウトしてみました

     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

しかし、同じ効果。私は何が欠けていますか?申し訳ありませんが、公式のAndroidガイドを理解できませんでした。


マニフェストファイル、アクティビティ(Brain)の.xmlを確認したので、さらに混乱しましたが、上記のコードを使用してpdfをロードするたびに、アプリの間違ったアクティビティ(main)に戻ります。私はメインからimageviewを介してBrainアクティビティを呼び出していますが、それは問題なく機能します。上記のPDFをBrainから起動すると、戻るボタンをクリックすると、起動アクティビティBrainではなくMainに移動します。

私は私のアプリの他の2つのアクティビティで上記のコードを使用していますが、戻るキーは希望どおりに動作します。そのため、mainfestファイルをチェックし始めましたが、何が欠けているのかわかりません。

どんな助けでもエースにしてください!

ありがとう。

4

1 に答える 1

0

以下が機能した理由を説明することはできませんが、他の誰かが同様の問題を抱えている場合は、次の方法で問題を解決しました。

  • Eclipseで新しいAndroidアクティビティを作成します。
  • 不正な動作からコードをコピーします。
  • 新しく作成されたアクティビティにコードを貼り付けます。

シンプルで、なぜそれが機能したのかよくわかりませんが、機能しました。

于 2013-07-21T19:38:23.437 に答える