拡張子が.apkの携帯電話に保存されているファイルをフィルタ処理したいとします。私は以下のコードを試してみましたが、ファイルはのsdcard/file.apk にしか見つかりませんが、sdcardのサブディレクトリも検索してファイルをフィルタします。sdcardのapk拡張子を持つファイルをフィルタリングする方法は?
例えばSDカード/ダウンロード/ mm.apk内部のapkファイルがある場合はそれをフィルタリングする必要があり、また、SDカード/新規フォルダ/ ABC/cc.apk内の別のファイルがある場合は、それをフィルタリングする必要がありますあまりにも。
どうすればいいですか?これは、あなたが試すことができ、多くの方法で、1である
ExtFilter apkFilter = new ExtFilter("apk");
File file[] =Environment.getExternalStorageDirectory().listFiles(apkFilter);
Log.i("InstallApk","Filter applied. Size: "+ file.length);
for (int i=0; i < file.length; i++)
{
Log.i("InstallApk",
"FileName:" + file[i].getName());
}
ArrayAdapter af=new ArrayAdapter<File>(this,android.R.layout.simple_list_item_1,android.R.id.text1,file);
ListView ll=(ListView) findViewById(R.id.mainListView1);
ll.setAdapter(af);
}
class ExtFilter implements
FilenameFilter {
String ext;
public ExtFilter(String ext) {
this.ext = "." + ext;
}
public boolean accept(File dir, String name)
{
return name.endsWith(ext);
}
}
私は@Huy Nそれを試してみましたが、それは唯一のSDカード/のみで見つかったのAPKをフィルタリングが、私は携帯電話のファイルシステムで見つかった短期のAPKでSDカードフォルダ全体で見つかったのAPKをフィルタリングします。 – surayanbo
@surayanboこの記事はあなたに役立つかもしれません:http://stackoverflow.com/questions/8307034/how-to-get-the-apk-file-of-an-application-programatically – alway5dotcom