Q&A
解決済み

【アプリの開発】android12で「不明なアプリのインストール」が許可されているかどうかの取得方法

現在、「アプリ一括インストーラー」というandroidアプリをandroid studio(Java)で作成しています。
特定の内部ストレージのフォルダ内にあるAPKファイルを順次インストールしていくアプリなのですが、android12のスマホで「アプリ一括インストーラー」アプリに対して「不明なアプリのインストール」が許可されているかどうかを取得して、許可されていない場合に、「不明なアプリのインストール」の選択画面を表示させたいと考えています。

現状は、android12のスマホで「不明なアプリのインストール」が許可されているかどうかの取得方法が分からないため、毎回起動直後に「不明なアプリのインストール」の選択画面を表示させるようにしています。

android studio(Java)でandroid12のスマホで「不明なアプリのインストール」が許可されているかどうかを取得する方法について教えていただきたく、よろしくお願いします。



1 件の回答
ベストアンサー
ベストアンサー

Xperia XZ SOV34 au(povo) medal ベストアンサー獲得数 383 件

android studio(Java) の開発環境についてはよくわからないので参考という事で。

Android 8.0( API レベル 26 )以上のデバイスでは

canRequestPackageInstalls()

を呼び出す事でユーザーが不明なアプリをインストールする権限を提供元に付与しているかどうかをチェックできる様なのですが、これを呼び出すことは可能なのでしょうか?



提供元不明のアプリとソースに対するユーザーのオプトイン
https://developer.android.com/studio/publish?hl=ja#publishing-unknown


Java 8 言語機能と API を使用する
https://developer.android.com/studio/write/java8-support?hl=ja
ベストアンサー この回答はベストアンサーに選ばれました。
  • 1
あいだの1件を表示

Xperia XZ SOV34 au(povo) medal ベストアンサー獲得数 383 件

SOV34_SOV32_不明なアプリインストール.png

>>2 imaru2019さん


APK ファイルからアプリをインストールする際に必要となる「提供元不明のアプリ」(不明なアプリのインストール)のインストール許可設定は、

Android 7.0 まで
 設定の「セキュリティ設定」にて行う
 端末全体として許可・不許可を設定

Android 8.0 から
 アプリの詳細設定で行う
 各アプリごとに個別に許可が必要
 設定の「セキュリティ」には項目なし

という風に変更されています。


そのため、

アプリに対して「不明なアプリのインストール」が許可されているかどうか

は Android 8.0 以降で実装された機能なので Android 7.0 以前では「そもそも存在しない」ものとなります。


アプリ起動時にデバイスのアンドロイドバージョンを取得して、

Android 8.0 以上の場合
 「アプリに対する許可設定」を取得

Android 7.0 以下の場合
 「提供元不明のアプリ」のインストール許可の設定を参照
 (項目名などの参照方法などは分かりませんが)

という風に分岐すればいいのではないか?と思えます。


詳細は覚えてなくてうろ覚えなのですが、Android 4.2 ぐらい?だかで「提供元不明のアプリ」のインストール許可が出てきたとかだったかなぁ?
  • 3

Xperia XZ SOV34 au(povo) medal ベストアンサー獲得数 383 件

>>3

Android 4.0.3 でも「提供元不明のアプリ」のインストール許可は出来るみたいですね。


F-08D OSバージョンアップFAQ一覧
OSバージョンアップ(2.3.5→4.0.3)による機能追加、変更内容
http://spf.fmworld.net/fujitsu/c/update/nttdocomo/f-08d/update1/top/faq/index.html

Q 次のエラーメッセージが表示されました。
 『インストールはブロックされました / セキュリティ保護のため、お使いの端末はAndroidマーケット以外から提供されるアプリケーションのインストールをブロックするよう設定されています。』

A このメッセージが表示された場合は、手順書に記載している以下の操作を行っていない可能性がありますのでご確認ください。
 ・操作方法:
  設定→アプリケーション→「提供元不明のアプリ」にチェックをつける。



[Android]Google Playにない「野良アプリ」をインストールするために「提供元不明のアプリ」を許可する
https://qiita.com/gumby/items/9e1431b73bdb6b0684d8

Android 4.x ~ 10 の端末画面あり。
  • 4