Android

Android 10の概要をまとめました。

投稿日:

はじめに

Android 10が9/3にリリースされました。まずはpixelシリーズからローリングアウトされ、今年中にはサードパーティの端末にも適用される予定です。Android10が正式名称となり、Android 9(Pie)まで続いていたお菓子のコードネームは無くなりました。また、圧倒的なハイスピードと低遅延次世代通信規格5Gや折りたたみ式スマホをサポートしています。

主な変更点

Android 10で追加された主な機能のまとめは以下になります。

バックグラウンドからの起動について

Android 10 は、アプリのアクティビティを起動するタイミングを制限します。この動作変更により、ユーザーに対する割り込みを最小限に抑え、ユーザーは画面内の表示内容を詳細に制御できるようになります。
Android 9(API レベル 28)以前をターゲットにしているアプリも含め、Android 10上で稼働するすべてのアプリに適用されます。また、アプリが Android 9 以前をターゲットにしていて、元々 Android 9 以前が稼働していたデバイス上にインストールされていた場合でも、デバイスを Android 10にアップグレードすると、この動作変更が適用されます。
アクティビティのパーミッションが必要とされる条件はこちらから確認することができます。
通常、Andorid 10上で稼働しているアプリがバックグラウンドから起動しようすると、AndroidStudioのlogcatに警告メッセージが表示されます。

バックグラウンドにあるアプリは、直接アクティビティを起動するのではなく、通知を作成してユーザーに情報を提供することが求められるようになりました。
ただし、現在進行形のアラームや着信などによって、ユーザーの注意を早急に引き付けることが必要となる場合があります。このような場合に備えて、これまではバックグラウンド アクティビティを起動するようにアプリを設定することがありました。Android 10で同じ動作を実装するには、次のような記述を行います。

通知ベースのアラート/リマインダーシステム
他のアプリを起動している最中でも画面上部に通知が表示され進行中の動作を邪魔することなく通知に対してアクションが可能になりました。例えば通話の際には通話を受けるか、拒否するかを選択できます。上記のようにフォアグラウンドで現在進行形のサービスに関連づけた通知の表は下記実装を行います。

通知はユーザーの設定したサイレントモードのルールが適用されます。たとえば、サイレント モードが有効になっている場合でも、特定の相手からの着信のみを通知することができるようになります。

ストレージへの権限

Android 10では、複数のアプリで共有できる領域は写真、動画、音楽のみとなりました。
この領域にアクセスするにはREAD_EXTERNAL_STORAGEやWRITE_EXTERNAL_STORAGEを使用します。Android 10ではアプリごとに領域が作られ、他のアプリが管理する領域には直接アクセスすることができなくなりました。
他のアプリが作成したファイルにアクセスするには、
・アプリに READ_EXTERNAL_STORAGEパーミッションが付与されていること。
・対象ファイルが、写真(MediaStore.Images)、動画(MediaStore.Video)、音楽ファイル(Media.Audio)の中にあること。
が条件となります。
ダウンロード領域へのアクセスも可能ですがStorageAccessFrameworkのファイルピッカーを利用する必要があります。

位置情報制御

現在地のアクセス許可にアプリ使用中のみが追加されました。これまで「常に許可」or「許可しない」の2択でしたが、「使用中のみ許可」を選択することができるようになっています。Android 10をターゲットにしているアプリが、バックグラウンドで稼働しているときにデバイス位置情報にアクセスする必要がある場合、アプリのマニフェストファイル内で、次のように新しいパーミッションを宣言する必要があります。

その他ユースケースによって異なる場合は詳細を確認しましょう。

Live caption

動画、音声メッセージ等の音声のリアルタイムの字幕が自動的に表示されるようになります。タップするだけですべてのアプリで使うことができ、自分で録音した音声にも活用できます。この機能は、まず英語のみの対応となり、Google Pixel 端末にて秋頃から使えるようになる予定です。

Smart Reply

AIがメッセージに対して返信の候補を出してくれる機能が追加されました。さらに、メッセージに住所が含まれている場合に、「地図を開く」などのアクションを提示してくれます。Android 9 で、通知内に定型返信文を表示する機能が導入されましたが、Android 10 以降では、通知にインテントベースのアクションの候補を含めることもできます。さらに、こうした候補を自動生成できるようにもなっています。定型返信文の生成に使用される API は TextClassifier に含まれており、Android 10ではデベロッパーに直接公開されています。アプリで独自の候補を提供する場合、プラットフォームによる候補の自動生成は行われません。

※詳しくはこちらで確認できます。

Gesture Navigation

設定でナビゲーションバーのないUIに切り替えられ、戻るボタンがなくなります。画面左または右から中央にスワイプすると一つ前の画面に戻るなど、インターフェイスをiPhoneライクにすることができます。ナビゲーションバー領域を排除し、アプリをフルスクリーン表示にできるようにすることができます。

Dark Thema

UIがダークになります。Dark Themaは以下のようなメリットがあります。
・デバイスの画面テクノロジーによっては電力使用量を大幅に削減できます。
・低視力のユーザーや明るい光に敏感なユーザーが画面を見やすくなります。
・すべてのユーザーが薄暗い環境でもデバイスを簡単に操作できます。

セキュリティアップデート

Androidは1ヶ月に1回のセキュリティアップデートを提供しており、アップデート提供後に新たな問題が見つかった場合は翌月のセキュリティアップデートを待たなければいけませんでした。Android10では、セキュリティアップデートがGoogle Playから配信されるので、従来より適用が早くできるようになります。

フォーカスモード

DigitalWellbeingを向上させる機能として、仕事や勉強中につい気になるアプリの起動を制限できます。アプリの通知やバックグラウンド稼働を停止することができます。

Kotlinに関する変更

通常、Kotlin 内で null 可能性規約違反が発生すると、コンパイル エラーになります。既存のコードとの互換性を維持するため、Android 9 の際に導入された新しいアノテーションは @RecentlyNullable と @RecentlyNonNull だけに限定されていました。これにより、null 可能性違反があっても、エラーではなく警告が出力されるようになっていました。今回、Android 9 のときに追加されていた @RecentlyNullable アノテーションと @RecentlyNonNull アノテーションは、それぞれ @Nullable と @NonNull に変更されました。null可能性違反があった場合は、警告ではなくエラーが出力されるようになります。

さいごに

Android10では主にセキュリティやプライバシーの面での変更が行われました。既存の機能にも知らないものもこの機会に学ぶことができました。
皆様のAndroid10実装のお役に立てればと思います。

おすすめ書籍



page_footer_300rect




page_footer_300rect




-Android
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Android】Firebase Cloud Storageに画像をアップロードする

1 はじめに1.1 Firebaseとは2 Firebase Cloud Storage を使う為の準備3 パーミッションの追加4 実装してみましょう4.1 今回作成するソースコード全容4.2 送信先 ...

【Androidマテリアル】Ripple Effect

1 はじめに2 Ripple Effectとは3 設定方法4 カスタマイズ5 さいごに はじめに こんにちは、ソニーから新Aiboが発表されましたね。個人的には欲しいと思っているのですが、最近Goog ...

Androidでのローカルプッシュ通知実装

1 はじめに2 WorkManagerとは?3 WorkManagerの導入4 実装例4.1 Workerの実装4.2 OneTimeWorkRequestBuilderの実装4.3 Periodic ...

【kotlin】CameraXでAndroidカメラを実装してみた

1 はじめに2 概要3 使用前の準備4 ViewFinderLayoutを実装する5 Camera Permissionのリクエスト6 カメラ撮影機能を実装する6.1 Previewクラスの実装6.2 ...

Kotlin MPAndroidChartライブラリを使いボリンジャーバンドを描画してみる。

1 はじめに2 ボリンジャーバンドとは2.1 ライブラリの導入2.2 描画の準備3 ボリンジャーバンドを描画する3.1 CombinedChartの設定3.2 CombinedChart用のデータ作成 ...

フォロー

follow us in feedly

page_side_300rect

2019年9月
« 8月 10月 »
1234567
891011121314
15161718192021
22232425262728
2930 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。