投稿

ラベル(Permission)が付いた投稿を表示しています

【Android】VideoViewを使って動画再生アプリを作る①
-- ストレージへのアクセス権限を取得 --

イメージ
小さい子供に動画を見せていると、画面を触って停止してしまったりホーム画面へ戻ってしまったりということがあるので、これを防止した単純な動画再生アプリを作ってみます。 要件 はじめにざっくりとした要件をまとめます。 内部ストレージからmp4ファイルを検索 ※SDカードなどの外部ストレージは今回対象外 動画ファイル名をリスト表示 (できれば動画のイメージを取得してリスト上に表示したい、どうやって取得するんだろう...) ファイル名タップで全画面表示で動画再生 再生中に画面をタップしても何もしない 最後まで再生したら最初に戻って繰り返す 実装については以前作った Json Viewer の大部分が流用できると思うのでこれを改修していく形になります。 https://github.com/s-watanabe-apps/json-viewer.git こちらの実装についての詳細を、次回リスト編と再生編に分けて解説していこうと思います。 実装 内部ストレージからファイルを検索するので、アプリケーションにストレージへのアクセス権限が必要です。 通常権限を取得する場合、Android OSにより以下右のダイアログを出してユーザーに許可を求めます。しかし何のために該当の権限を利用するかこのダイアログだけではわかりません。左画像のように権限の利用目的を明示してあげるのが親切な設計です。 ※アプリケーションから権限の取得方法には以前 記事 にしましたが、今回は以下のように利用目的の表示を明示するようにしました。 権限設定 AndroidManifest.xml AndroidManifest.xmlに以下を追加します。 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 権限の確認と利用目的の説明 まずは権限が許可されているかをチェックし、許可されていない場合(もしくは初回起動のとき)に利用目的をユーザーに明示します。そこでOKを押してもらったときに requestP

【Android】アプリケーションから権限の取得方法

イメージ
Androidアプリケーションがデバイスの機能へアクセスする場合、利用者に権限を許可してもらう必要があります。 デバイスの機能とは以下のようなものです。 連絡先 位置情報 内部ストレージ カメラ etc ・・・ ここでは連絡先を利用するアプリケーションを作ると想定して、どのように実装するのかをまとめます。 実装 対象権限の追加 AndroidManifest.xml AndroidManifest.xmlに取得したい権限を追加します。 <uses-permission android:name="android.permission.READ_CONTACTS" /> 権限を貰うための処理 MainActivity.java public class MainActivity extends AppCompatActivity { /** * onCreate * @param savedInstanceState */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // このアプリケーションに連絡先にアクセスする権限が許可されているかチェック if (PermissionChecker.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS,}, 0); } else{ ((TextView) findV