私はイコライザーが必要なアンドロイドメディアプレーヤーで作業しています。しかし、イコライザーはGingerbread以上でしか利用できませんが、cyanogenmod 6はオーディオプレーヤーをイコライザーとして動作させるように変更されていますので、OSバージョンを検出したいと思います。Androidにはcyanogenmodとそのバージョンを検出する方法はありますか?
答えて
あなたはそれに対してos.version
プロパティと一致するものを読むことができます:私のデバイス上で
String version = System.getProperty("os.version");
if (version.contains("cyanogenmod")) {
isCyanogenMode = true;
}
を、os.version
は2.6.37.6-cyanogenmod-01509-g8913be8
です。
私はここで、より徹底的な答えを掲載しました:http://stackoverflow.com/a/9801191/127013 – Matthias
私はcyanogenmodに私のアプリのインストールを防ぐことができますか? –
現在、シアノゲンモードのカーネルにはcyanogenmod
というキーワードが含まれていませんSystem.getProperty("os.version");
これは3.0.64-CM-g9d16c8a
のようなものです。だから私はこの機能を書いた。
private boolean isCyanogenMod(PackageManager pm) {
boolean isCyanogenMod = false;
String version = System.getProperty("os.version");
BufferedReader reader = null;
try {
if (version.contains("cyanogenmod") || pm.hasSystemFeature("com.cyanogenmod.android")) {
isCyanogenMod = true;
}
else {
// This does not require root
reader = new BufferedReader(new FileReader("/proc/version"), 256);
version = reader.readLine();
if (version.contains("cyanogenmod")) {
isCyanogenMod = true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
if(reader != null) {
try { reader.close(); } catch (IOException e) { }
}
}
return isCyanogenMod;
}
os.versionとカーネルのバージョンは良い指標ではありません。カーネルは簡単にスワップアウトされ、これらのプロパティの両方に影響を及ぼすユーザによって頻繁に発生します。最善の解決策は私の経験からBuild.HOSTを使うことです。 –
これは古い質問ですが、私は最近、私が信じているより良い解決策を考え出しています。ところで
public static boolean isCyanogenMod() {
try {
return Class.forName("cyanogenmod.os.Build") != null;
} catch (Exception ignored) {
}
return false;
}
- 1. AndroidフラグメントのuserInterationsを検出する方法はありますか?
- 2. htmlファイルまたはアクティブxからExcelバージョンを自動的に検出する方法はありますか?
- 3. EJBのアンデプロイメントを検出する方法はありますか?
- 4. NPLogonNotifyでリモートデスクトップセッションイベントを検出する方法はありますか?
- 5. シークレットブラウジングを検出する方法はありますか?
- 6. ウェブプログラミングでマウスホイールハードウェアを検出する方法はありますか?
- 7. Javaアプリケーションを検出する方法はありますか?
- 8. コンソールにChromeのバージョンを出力する方法はありますか?
- 9. CDHとそのソフトウェアのバージョンはどこにありますか?
- 10. Android Wearで位置がオフであることを検出する方法はありますか?
- 11. クライアントを検出する方法は、コンピュータまたはモバイルにありますか?
- 12. 出力をpython(バージョン3.3.3)でファイルにリダイレクトする方法はありますか?
- 13. javacriptのページ検索でfindを検出する方法はありますか?
- 14. AndroidでActionScriptを呼び出す方法はありますか?
- 15. Rustプログラム内からコンパイラのバージョンを検出する方法はありますか?
- 16. DFSの反復バージョンを使用して有向グラフのサイクルを検出する方法はありますか?
- 17. アンドロイドのwebviewにキャッシュを検出する方法はありますか?
- 18. Android搭載端末のGPUに関する詳細をプログラムで検出する方法はありますか?
- 19. MYSQLで複数の列のデータのスジを同時に検出/検出する方法はありますか?
- 20. (Android)ウェブビューでテキストが選択されたことを検出する方法はありますか?
- 21. Androidでアプリケーションが強制停止されたことを検出する方法はありますか?
- 22. robots.txtにない場合、サイトマップを検出する方法はありますか?
- 23. ソフトキーボードがAndroidで開いているかどうかを検出する方法はありますか?
- 24. Androidデバイスでマルチタッチをサポートしていない場合は、マルチタッチを検出する方法はありますか?
- 25. 車線検出アルゴリズムで道路の境界を自動的に検出する方法はありますか?
- 26. JavascriptでDOMノードの変更を検出する方法はありますか?
- 27. ワイヤレスネットワーク上のiPadsやiPhoneを検出する方法はありますか?ボンジュール?
- 28. Javascript経由でデフォルトのイメージフォルダを検出する方法はありますか?
- 29. Window Mobileでキーボードの種類を検出する方法はありますか?
- 30. モバイルブラウザでHTML 5セマンティックタグのサポートを検出する方法はありますか?
は、この質問はすでにここに答えている:http://stackoverflow.com/questions/5499217/how-to-recognize-that-cyanogenmod-is-on-a-board – Matthias
多分cyanogenmodを持っていますフレームワークの独自のクラス、どのように使用を反映する?私は正常なユーザーのためのアプリケーションを作っている、unameを使用することはまったく良い考えではない – mariotaku
私は正しいアプローチで私の答えを更新しました。 'os.version'プロパティを読むことができます。 – Matthias