つまり、ユーザーのデバイスがダイヤラーのないタブレット (または音楽プレーヤー) ではないことを確認するにはどうすればよいですか?
PS: 私のアプリはダイヤラに入力された数値コードを使用しているため、その存在を確認したいと考えています。
1061 次
2 に答える
5
呼び出しを試みる前に、インテント レシーバー/アクティビティが実際に存在するかどうかを確認することは、常に良い方法です。
理由のいくつかは次のとおりです。
インテントが存在しない場合、アプリケーションは強制終了します。インテント レシーバーが存在しない場合は、ユーザーをマーケットにリダイレクトして、必要なアプリケーションをダウンロードすることができます。インテントの存在に応じて、メニュー オプションを表示/非表示にしたい場合があります。
次のスニペットには、 isIntentAvailable() と isActivityAvailable() の 2 つの関数が含まれており、チェックを実行してそれに応じてブール値を返すことができます。
public boolean isIntentAvailable(Context context, String action) {
final PackageManager packageManager = context.getPackageManager();
final Intent intent = new Intent(action);
List resolveInfo =
packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
if (resolveInfo.size() > 0) {
return true;
}
return false;
}
アクション文字列をパラメータとしてこの関数に渡してから、サードパーティのアプリケーションを起動してください。
于 2013-01-27T13:29:54.023 に答える
1
私が必要としていたもののようです:
public static String TelephonyChecker (Context context) {
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
if(manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE){
return "Off";
}else{
return "On";
}
}
于 2013-01-31T09:50:48.313 に答える