2012-03-15 11 views
1

私は次の要件を持っています。 アプリケーションがサーバーから画像ファイルを受け取ると、デフォルトの画像ビューアで画像が自動的に開きます。Show Gallery私自身の意図によるビューアクティビティは表示されません

ノーマルケース:

  1. アクティビティが見えます。
  2. サーバーから受信したイメージファイル。
  3. アプリケーション送信Intent.ACTION_VIEW
  4. ギャラリービューにダウンロードした画像が表示されます。

失敗の場合:

  1. アクティビティが表示されていません。 (例:ホームを押してランチャーに戻る)
  2. サーバーから受信した画像ファイル。
  3. アプリケーション送信Intent.ACTION_VIEW
  4. 何も起こりません。 (< - 失敗)

**私が自分のアプリケーションに戻ると、ギャラリービューが表示されます。

アクティビティが表示されていないことを示すためにギャラリービューを取得するには何かできますか?

  final Intent openfileintent = new Intent(); 
      openfileintent.setAction(android.content.Intent.ACTION_VIEW); 
      final File file = sharedfile.getFileInstance(); 
      openfileintent.setDataAndType(Uri.fromFile(file), sharedfile.getMimeType()); 
      startActivity(openfileintent); 

答えて

0

は試行錯誤の後に答えを見つけました:私はギャラリービューを開始する方法

追加するフラグは2つあります。

さらに重要なことに、アクティビティコンテキストの代わりにアプリケーションコンテキストを使用する必要があります。

 final Intent openfileintent = new Intent(); 
     openfileintent.setAction(android.content.Intent.ACTION_VIEW); 
     (*1) openfileintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     (*2) openfileintent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     final File file = sharedfile.getFileInstance(); 
     openfileintent.setDataAndType(Uri.fromFile(file), sharedfile.getMimeType()); 
     (*3) getApplicationContext().startActivity(openfileintent); 
関連する問題