1

重複の可能性:
インストールされているファイル エディター (存在する場合) でプレーン テキスト ファイルを編集する意図

ダウンロードしたテキストファイルを開こうとしています。意図してアクティビティを開始すると、ActivityNotFound Exception が発生します。

try {
    Uri path = Uri.parse(path+"/sampletext.txt");
    Intent intent = new Intent(Intent.ACTION_VIEW);
    PackageManager packageManager = ctx.getPackageManager();
    intent.setType("text/plain") ;
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    if (list.size() > 0 ) {
        intent.setDataAndType(path, "text/plain");
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        ctx.startActivity(intent) ;
    } 

} catch (Exception e){
    e.printStackTrace() ;
}

デバッグすると、list.size が 1 であることがわかりました。

私が見逃している他の情報はありますか?

どんな種類のポイントでも私を助けてくれます。

ありがとう。

4

1 に答える 1

2

ActivityNotFound 例外は通常、一致するアクティビティがマニフェスト ファイルで宣言されていないか、別のアプリケーションによって共有アクティビティとして登録されていない場合に発生します。

パスを編集する必要がある場合があります。

Uri path = Uri.parse("file://" + path + "/sampletext.txt");

これを行うより良い方法は、便利な方法を使用することです。

Uri data = Uri.fromFile(file);

ただし、そのメソッドを使用するには File オブジェクトを作成する必要があります

于 2012-09-12T19:55:19.690 に答える