簡體   English   中英

Android ActivityNotFoundException無法捕獲OS 4.1.2中的Intent(適用於4.0.3)?

[英]Android ActivityNotFoundException failing to catch on Intent in OS 4.1.2 (works on 4.0.3)?

謝謝參觀。 我是一個非常老的程序員,但對Android / Java來說是絕對的新手。 雖然我還沒有找到一種方法來使代碼變得豐富多彩而且非常漂亮;)。

). 我正在開始一個活動來打開一個偽造/偽擴展(mime類型)的文件,所以我可以強制這個ActivityNotFoundException異常( )。

). 不知何故,這個例外從未發生在我的三星Galaxy S3( )上。 ). Adobe Reader打開並且文件不是PDF的錯誤( )。 但是,在運行4.0.3的舊版ASUS Transformer平板電腦上,可以正常捕獲異常。

有問題的代碼是這樣的:

// this file exists (check omitted).. 
File docFile = new File("/path/to/file.bogusextension");

// intent
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);

// getting doc Uri
Uri fileUri = Uri.fromFile(docFile);

// getting doc mimeType
MimeTypeMap mime = MimeTypeMap.getSingleton();
String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
String mimeType = mime.getMimeTypeFromExtension(extension);

intent.setDataAndType(fileUri, mimeType);

// this is for an adobe native extension, just getting FREContext
// in the class below and mapping functions
DocLauncherExtensionContext extensionContext = (DocLauncherExtensionContext) context;
Activity activity = extensionContext.getActivity();

try
{
    activity.startActivity(intent);                 
}
catch (ActivityNotFoundException e) 
{
    Toast.makeText(context.getActivity(), "This never happens!", Toast.LENGTH_LONG).show();                 
}

這段代碼是否存在任何錯誤,允許具有任何擴展名的文件在Adobe Reader中不斷被拋出? 我已經清除了默認設置(設置 - >應用程序管理器 - >重置)。 我開始的一切活動只是在Adobe Reader上投擲。

任何想法贊賞! 謝謝!

Intent intent = new Intent();

需要成為:

Intent intent = new Intent(Intent.ACTION_VIEW);

您將數據和ActionCode放入intent中,但是您從未告訴過它是什么意圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM