Book Image

Android 9 Development Cookbook - Third Edition

By : Rick Boyer
Book Image

Android 9 Development Cookbook - Third Edition

By: Rick Boyer

Overview of this book

The Android OS has the largest installation base of any operating system in the world. There has never been a better time to learn Android development to write your own applications, or to make your own contributions to the open source community! With this extensively updated cookbook, you'll find solutions for working with the user interfaces, multitouch gestures, location awareness, web services, and device features such as the phone, camera, and accelerometer. You also get useful steps on packaging your app for the Android Market. Each recipe provides a clear solution and sample code you can use in your project from the outset. Whether you are writing your first app or your hundredth, this is a book that you will come back to time and time again, with its many tips and tricks on the rich features of Android Pie.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Accessing external storage with scoped directories in Android N


With security awareness on the rise, users are becoming more skeptical about allowing apps to have unnecessary permissions. Android N introduces a new option called Scoped Directory Access, allowing your application to request access to only the required permissions, instead of general access to all folders.

If your application requests READ_EXTERNAL_STORAGE and/or WRITE_EXTERNAL_STORAGE permission, but only needs access to a specific directory, you can use Scoped Directory access instead. This recipe will demonstrate how to request access to a specific directory, the Music folder in this case.

Getting ready

Create a new project in Android Studio and call it ScopedDirectoryAccess.In the Target Android Device dialog, be sure to select API 24: Android 7.0 (Nougat) or higher for the Phone & Tablet option. Select Empty Activity on the Add an Activity to Mobile dialog.

How to do it...

To initiate the user access request, we'll add...