問題タブ [android-12]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3038 参照

android - windowSplashScreenAnimatableIcon が見つかりません

Android 12 でスプラッシュ スクリーンをカスタマイズしたいのですが、AAPT エラーが発生します。

スタイルの関連部分は次のとおりです。

これは、ドキュメントに記載されている属性です。

私が使用しているビルド ツール ライブラリの概要は次のとおりです。

Android Studio Arctic Fox | を使用しています。2020.3.1 記録のためのベータ 1。

誰かが私が間違っていることを指摘できますか?

0 投票する
2 に答える
2420 参照

android - setExpedited はどのように機能し、フォアグラウンド サービスと同じくらい優れた信頼性がありますか?

バックグラウンド

以前は、フォアグラウンドのIntentServiceを使用して、次々と発生するさまざまなイベントを処理していました。その後、Android 11 (Android R、API 30) で非推奨になり、代わりにsetForegroundAsyncを使用する Worker を使用することを好むと言われたので、それを実行しました。

問題

Android 12 が登場したため (Android S、API 31)、 の 1 つ後のバージョンsetForegroundAsyncが非推奨としてマークされ、代わりにsetExpeditedを使用するように指示されました。

問題は、それが正確にどのように機能するかわかりません。以前は、フォアグラウンド サービスを使用しているため、ユーザーに表示する必要がある通知がありました (少なくとも「古い」Android バージョンの場合)。getForegroundInfoAsyncが使用されているようですが、Android 12 では使用されないと思います。

Android S より前では、WorkManager はユーザーに代わってフォアグラウンド サービスを管理および実行して WorkRequest を実行し、ForegroundInfo で提供される通知を表示します。この通知を後で更新するために、アプリケーションは NotificationManager を使用できます。

Android S 以降では、WorkManager は即時ジョブを使用してこの WorkRequest を管理します。

それについての別の手がかりは(こちら)です:

WorkManager 2.7.0 から、アプリは setExpedited() を呼び出して、Worker が優先ジョブを使用する必要があることを宣言できます。この新しい API は、Android 12 での実行時に優先ジョブを使用し、API は以前のバージョンの Android でフォアグラウンド サービスを使用して下位互換性を提供します。

そして、彼らが持っている唯一のスニペットは、スケジューリング自体のものです:

OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUESTのドキュメントでさえ奇妙に思えます:

アプリに優先ジョブ クォータがない場合、優先作業リクエストは通常​​の作業リクエストにフォールバックします。

私が望んでいたのは、中断することなく (または少なくとも可能な限り低い可能性で) すぐに確実に何かを実行し、OS が提供するものは何でも使用することだけでした。

なぜsetExpedited作成されたのかわかりません。

質問

  1. 正確にはどのように機能しsetExpeditedますか?
  2. この「急募定員」とは何ですか?この状況になると Android 12 ではどうなりますか? 労働者はすぐに仕事をしませんか?
  3. setExpeditedフォアグラウンド サービスと同じくらい信頼できますか? いつでもすぐに起動できますか?
  4. の利点、欠点、および制限setExpeditedは何ですか? フォアグラウンド サービスより優先する必要があるのはなぜですか?
  5. アプリが Android 12 でこの API を使用している場合、ユーザーには何も表示されないということですか?
0 投票する
2 に答える
548 参照

android-studio - Android 12 API レベルを確認するには?

以下のコードを使用して Android 12 API レベルを確認しようとしています。

ただし、Android 12 ベータ デバイスでアプリケーションを実行するときは、常に else 部分を実行します。Android 12ベータ版を確認する別の方法はありますか?