0
更新 Android 2.1をターゲットにする必要があります。SDカード/内蔵アプリのフィルタリスト
私は、SDカードや内蔵ストレージにフィルタをかけて、プログラムをプログラム的にリストする方法を見つけようとしています。
私はこれにアプローチする方法もわかりません。最初にSDカードのマウントポイントを検出して、アプリケーションデータディレクトリがあるかどうかを確認する必要がありますか?例えば、
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
List<ResolveInfo> intents = m_pm.queryIntentActivities(mainIntent, 0);
File baseSD = Environment.getExternalStorageDirectory();
int count = intents.size();
for (int i = 0; i < count; i++) {
String baseApp = intents.get(i).activityInfo.applicationInfo.dataDir;
if (baseApp.startsWith(baseSD.getAbsolutePath()) {
// This is on the SD card, do whatever with the app details
}
else {
// This is on internal storage
}
}
}
非常に低い眉に見えますが、より適切な方法が必要です。どんな助けもありがとうございます。
を入手可能な出発されているので
は注意してください迅速な返信いただきありがとうございます、それは実際に答えるん私の最初の質問、しかし私は2.1をターゲットにする必要があります。これまで私が見つけたすべての例は、一致するディレクトリを使用しています。私は私の質問を更新します。 – Kirk
これを考えた後、私のアプリのこの部分は、2.2を使用していない限り理にかなっていないので、これはうまく動作します。 – Kirk
私にとっては同じです、私はアンドロイド2.2から始めることができる私のアプリの一部を持っています。アンドロイドバージョンの85%が2.2以上であるため、とにかく応援します。 http://developer.android.com/resources/dashboard/platform-versions.html – gwa