2014-09-20 6 views
7

मैं एक बहुत खोजा गया एक समाधान खोजने के लिए खोलने के लिए कोशिश कर रहा है, लेकिन अभी तक किसी भीएंड्रॉयड - कोई गतिविधि नहीं आशय {कार्य को संभालने के लिए मिला = android.intent.action.VIEW - एक PDF फ़ाइल

मैं कर रहा हूँ नहीं मिल सकता है मेरी Android एप्लिकेशन

यहाँ में एक PDF फ़ाइल खोलने की कोशिश कर यह करने के लिए मेरे कोड है:

try 
    { 
     File file = new File(Environment.getExternalStorageDirectory()+"/pdf/Read.pdf"); 
     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_VIEW); 
     Uri uri = Uri.fromFile(file); 
     Log.d("CheckingURI", uri.toString()); 
     intent.setDataAndType(uri, "application/pdf"); 
     startActivity(intent); 
    } 
    catch (Exception e) 
    { 
     Log.d("OpenPDFError", e.getMessage()); 
    } 

बिलाव लॉग तात्पर्य को संभालने के लिए कोई गतिविधि है कि उनकी मंशा

01,235,
09-19 19:55:02.938: D/CheckingURI(30483): file:///mnt/sdcard/pdf/Read.pdf 
09-19 19:55:02.948: D/OpenPDFError(30483): No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/pdf/Read.pdf typ=application/pdf } 

क्या ऐसा करने का कोई और तरीका है या क्या मैं पीडीएफ फाइल को किसी अन्य डिफ़ॉल्ट पीडीएफ व्यूअर के साथ खोल सकता हूं? यदि हां, तो कैसे?

अद्यतन: मुख्य समस्या यह थी कि मैं अपने एमुलेटर पर एक PDF व्यूअर आवेदन स्थापित नहीं किया ...

उत्तर

7

ऐसा करें:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/pdf/Read.pdf"); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(file), "application/pdf"); 
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
startActivity(intent); 

चेतावनी: उपरोक्त विधि केवल काम यदि आपके पास पूर्व-स्थापित पीडीएफ व्यूअर है। यदि नहीं, तो आपको एक पीडीएफ व्यूअर स्थापित करने की आवश्यकता है।

+0

को यह त्रुटि फिर से मिली: कोई गतिविधि गतिविधि को प्रबंधित करने के लिए नहीं मिली {act = android.intent.action.VIEW dat = file: ///mnt/sdcard/pdf/Read.pdf typ = application/pdf flg = 0x40000000} –

+1

@ रसूल घाना: शायद आपके पास अपने डिवाइस या एमुलेटर पर एक पीडीएफ दर्शक स्थापित नहीं है। पीडीएफ व्यूअर स्थापित करने का प्रयास करें और पुनः प्रयास करें। – ChuongPham

+0

धन्यवाद, यह देख रहा है। +1 "कोई गतिविधि नहीं मिली ..." त्रुटि के बारे में चेतावनी में स्पष्टीकरण के लिए। –

2

यदि आपको पीडीएफ लॉन्च करने के लिए कोई गतिविधि नहीं मिली है तो आपको बस किसी प्रकार की त्रुटि संदेश पॉप अप करना होगा (त्रुटि संवाद में आप उपयोगकर्ता को यह बता सकते हैं कि उसे कुछ पीडीएफ ऐप चाहिए और उसे Play Store पर भेज दें) , हालांकि मैं बजाय कोड के इस टुकड़े genral अपवाद पकड़ने आप उपयोग कर रहे उपयोग करने का सुझाव चाहते हैं:

try { 
    /* your code */ 
    ... 
} catch (ActivityNotFoundException e) { 
    e.printStackTrace(); 
} 

या आप कुछ पीडीएफ पुस्तकालय उपयोग कर सकते हैं, जैसे this one

संबंधित मुद्दे