2011-02-04 60 views
13

上檢測PDF支持我使用的方法到是這樣的可靠的Android設備

public boolean canDisplayPdf() { 
    PackageManager packageManager = application.getPackageManager(); 
    Intent testIntent = new Intent(Intent.ACTION_VIEW); 
    testIntent.setType("application/pdf"); 
    if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) { 
     return true; 
    } else { 
     return false; 
    } 
} 

在Android設備上檢測到的PDF支持,並已被偉大的工作至今。我知道至少HTC默認查看器,droidreader和adobe acrobat會以這種方式報告,並返回正確的結果。不過,我現在得到了一位用戶對市場控制檯的評論,他說他在設備上有pdf支持,但是從應用程序描述的行爲中我得出結論,這種方法返回false。

有沒有更好的方法來檢測pdf支持? PS:我希望能夠向用戶詢問市場上的細節。

+0

通過向用戶詢問市場細節,您的意思是什麼?就像在安裝應用程序之前檢查他們是否安裝了PDF閱讀器一樣? – 2011-02-06 22:09:58

+0

我無法開始與用戶談論Android市場上的評論。有時候能夠做到這一點會很棒。在這種情況下,知道安裝了什麼pdf應用程序會很好,因爲它有一個錯誤,因爲它沒有對這個意圖做出反應......我可以嚮應用程序製造商報告這個錯誤。 – 2011-02-07 07:04:49

回答

3

從我發現的所有資源以及在相當多種設備上測試的實際經驗來看,我採取的方法都是正確的。

我還沒有任何進一步的反饋意見,並認爲可能有用戶錯誤或涉及一個錯誤的pdf應用程序版本。

2

你正確地做到了。您可以考慮更新您的應用的說明,告訴您使用應用/ pdf MIME類型使用Android批准的方法調用PDF應用。並且還提到,如果用戶在應用程序中遇到任何問題,您可以通過電子郵件[email protected](或者您的應用程序支持電子郵件地址設置爲)。也許他們會發一封電子郵件,而不是留下匿名評論。