![](/img/trans.png)
[英]android.content.ActivityNotFoundException: passing url to the intent
[英]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.