1

アプリがフォアグラウンドにある場合、Apple ウォレットは最大の明るさを設定します。アプリがバックグラウンドまたは終了すると、通常の明るさにリセットされます。

アプリで同じ機能を実装したい。

アプリで[[UIScreen mainScreen] setBrightness:1.0]; 行った明るさの変更は、デバイスがロックされるまで有効のままです。

アプリがフォアグラウンド モードの場合、最大の明るさを設定したいと思います。それ以外の場合、明るさは以前のレベルの明るさにリセットされます。

4

1 に答える 1

2

これはすべて最終的に機能しません。編集を参照してください

アプリを開くときに高輝度を設定し、存在する場合は以前の輝度を復元する場合は、次のことができますAppDelegate

を追加CGFloat previousBrightness

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    previousBrightness = [[UIScreen mainScreen] brightness];

    [[UIScreen mainScreen] setBrightness:1.0];

    return YES;
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [[UIScreen mainScreen] setBrightness:previousBrightness];
}

編集 :

調査の結果、 iOS には、アプリを終了した後に明るさを変更できないというバグが実際にあることがわかりました。このバグは iOS 4 から報告されており、iOS 8 で試したところ解決されていないようで、まだ動作しません...

バグの詳細については、Apple Dev Forum のこのスレッドを参照してください。

あなたができる唯一のことは、必要な非常に1つのステップに対して完全な明るさを設定し、ユーザーがもう必要なくなったときにリセットすることです. たとえば、多くのアプリでは、QR コードを表示しているときに最大の明るさで表示され、X 印をクリックして終了すると以前の明るさに戻ります。

何らかの方法でアプリを再考する必要があるかもしれませんが、ユーザーがホーム ボタンをクリックした後に明るさを復元する機能はありません。

于 2016-06-23T08:28:45.657 に答える