3

私のアプリケーションには、表示するドキュメントがいくつかあります。アクティビティには1つのボタンがあります:「開く」。このボタンをクリックすると、ドキュメントをサポートするアプリケーションを一覧表示するために、[使用中のアクションの完了]ダイアログのようなポップアップが表示されます。適切なアプリを選択すると、そのアイコンが付いたドキュメントのみが表示されます。

次のコードを使用しました。そのドキュメントをサポートするアプリケーションが複数ある場合は、正常に機能しています。ただし、アプリケーションが1つしかない場合、ドキュメントはポップアップを表示せずに直接開いています。

常にダイアログを使用して「完全なアクション」を表示するにはどうすればよいですか?

Intent docViewIntent = new Intent();                
docViewIntent.setAction(Intent.ACTION_VIEW);
File file = new File("/sdcard/docs/myfile.pdf"); 
Uri fileUri = Uri.fromFile(file);
docViewIntent.setDataAndType(fileUri, "application/pdf");
docViewIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try
{
    Intent chooser = Intent.createChooser(docViewIntent, "Choose application");                     
    startActivity(chooser);
} 
catch (ActivityNotFoundException e)
{
    Toast.makeText(this,  "No Application Available to View file", Toast.LENGTH_SHORT).show();
}
4

1 に答える 1

1

およびからのデータを使用して、独自の「選択」スタイルのダイアログ(またはダイアログをテーマにしたアクティビティ)を実装する必要がPackageManagerありqueryIntentActivities()ます。

Androidの観点からは、ユーザーに唯一の選択肢である選択肢をタップさせることに価値はありません。そのため、単一の一致するアクティビティの場合、チューザーはスキップされます。

于 2012-12-19T13:23:53.430 に答える