2012-12-17 33 views
0

我有以下代码从远程观看者拉动PDF文档查看:的Android PDF查看重定向

package com.example.techvault; 

import java.io.File; 
import java.io.IOException; 
import java.util.List; 

import android.app.Activity; 
import android.content.Intent; 
import android.content.pm.PackageManager; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.util.Log; 

public class PDFFromServerActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_document); 
     Intent in= getIntent(); // gets the previously created intent 
     String url = in.getStringExtra("full_url"); 
     if (!url.startsWith("http://") && !url.startsWith("https://")){ 
      url = "http://ezdrawdocs.com" + url; 
     } 
     Log.d("pdf url: ",url); 
     String extStorageDirectory = Environment.getExternalStorageDirectory() 
     .toString(); 
     File folder = new File(extStorageDirectory, "pdf"); 
     folder.mkdir(); 
     File file = new File(folder, "Read.pdf"); 
     try { 
      file.createNewFile(); 
     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 

     Downloader.DownloadFile(url, file); 

     showPdf(); 
    } 
    public void showPdf() 
     { 
      File file = new File(Environment.getExternalStorageDirectory()+"/pdf/Read.pdf"); 
      PackageManager packageManager = getPackageManager(); 
      Intent testIntent = new Intent(Intent.ACTION_VIEW); 
      testIntent.setType("application/pdf"); 
      List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY); 
      Intent intent = new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      Uri uri = Uri.fromFile(file); 
      intent.setDataAndType(uri, "application/pdf"); 
      startActivity(intent); 
     } 
} 

当backarrow选择它重定向到一个空白屏幕。如何选择backarrow时如何控制重定向到哪个活动? 感谢

回答

0

可以定义你的清单中的活动根据与

<meta-data 
    android:name="android.support.PARENT_ACTIVITY" 
    android:value="com.example.yourapp.SomeActivity" /> 
+0

感谢您的快速回复。我把代码放在我的清单下,调用pdf视图的活动下,它仍然显示一个空白屏幕。 – rstewart

+0

那么,如果你回到你的活动,它不会通过onCreate。您应该重写onResume来说明返回到活动时必须发生的事情。 –

0

你在做什么这里实现我所说的“直通活动”(即没有UI,并立即启动一个活动一个不同的活动)...我个人尽量避免它们。

这就是说,你需要做的是在之后拨。这将关闭您的直通,这样当您退出PDF查看器时,您将不会回到直通。