Android で ACTION_SEND で intent を投げるときに chooserでくるんでアプリ選択をユーザにさせるようにしたけれども、Googleドライブにしかファイルを保存させたくないという場合だったら直接Googleドライブアプリに intentを投げればいいんじゃなかろうか?
そう思って明示的インテントを作ろうとしたのだが、はて Googleドライブアプリのパッケージが分からない。
端末にインストールされているアプリ情報を取得する - すいはんぶろぐ.io
https://suihan74.github.io/posts/2021/01_09_00_get_installed_applications_info/
こちらを見て、getInstalledApplications() と getApplicationLabel() を組み合わせて一覧を作ってみたのだが、Android アプリ一覧で「ドライブ」に相当するラベル名がない。
パッケージ名も "drive" とか "drv" のようなものがない。まあこっちは略称が違うだけかもしれんが。
Android Studio が getInstalledApplications() で リンク付きの warningを出していたので見てみた。
Android 11 でのパッケージへのアクセス | Android デベロッパー | Android Developers
https://developer.android.com/about/versions/11/privacy/package-visibility
なんか難解な日本語だが、Android 11 からは Android 11 以降をターゲットとしているアプリは manifest に <queries> を書いておかないと一覧から外れてしまうことがあると言っている?
たぶん Googleドライブアプリのような AOSP にはない Googleアプリは Android 11 以降をターゲットにしていると思うが、メニューには出てくるしなぁ。でもメニューだから出てくると言うこともありそうだし。。。
うん、よくわからんが、そこまでして Googleドライブアプリに投げたいわけでもないので、よしとしよう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。