会社のアプリのコードを更新していますが、約 20 のアクティビティ クラスがあり、すべて PDF をダウンロードし、次のコードを使用して表示します。
public void showPdf()
{
File file = new File(Environment.getExternalStorageDirectory()+"/pdf/Read.pdf");
PackageManager packageManager = getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/pdf");
startActivity(intent);
}
コードは機能していますが、20個のクラスすべてに複製されています(私には非常に悪いようです)。各アクティビティクラスがインポートする単一のクラスにコードを入れたいのですが、これをやろうとするgetPackageManager()
とstartActivity(intent)
、より長い作業。
これを実現するためにクラスを構成するにはどうすればよいですか? または、これについて間違った方法で行っていますか。