電話が機内モードかどうかを確認するにはどうすればよいですか? (インターネット接続がないことを検出するだけでは十分ではありません。これら 2 つのケースを区別できなければなりません)
23398 次
5 に答える
19
SCNetworkReachabilityGetFlags
(SystemConfiguration フレームワーク)を使用してみてください。返された flags 変数が 0 で、戻り値が YES の場合、機内モードがオンになります。
Apple の到達可能性クラスを確認してください。
于 2011-01-26T12:21:36.560 に答える
5
Info.plist で true に設定された SBUsesNetwork ブール値フラグを追加して、機内モードのときにメールで使用されるポップアップを表示できます。
于 2011-01-26T23:26:42.863 に答える
1
この情報は、プライベート ライブラリを使用しないと取得できません。ここにいくつかのコードがありますが、キャリア信号が利用できない場合は機能しません。
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
NSString *dataNetworkItemView = nil;
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}
double signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue];
if (signalStrength > 0) {
NSLog(@"Airplane mode or NO signal");
}
else{
NSLog(@"signal available");
}
于 2016-11-29T11:21:01.773 に答える