自作APPからブラウザの起動について

151 views
Skip to first unread message

K.H.Box

unread,
Feb 25, 2024, 7:58:12 PMFeb 25
to 日本Androidの会
皆様

お世話になっております.K.H.Boxと申します.
学生時代に日本Androidの会の皆様の集合知をお借りし,個人的にAPPを作成していました.
数年前からSEとして働かせていただいており,今回行き詰った部分がありますので皆様のお知恵をお借りしたいと思い,投稿させていただきます.
使用言語はKotlin,端末OSはAndroid 12 GoEditionです.

問題
自作APPからブラウザを起動させ,疑似的に画面に固定させたい.
  • APPの設定画面でURLを指定し,そのURLでブラウザを起動する
  • ブラウザがタスクキルされていた場合は新たに起動する
  • 起動しているが画面に表示されていない場合はただ画面に表示する
    • イメージとしてはアプリ履歴からブラウザを選択するようなもの
    • 他のアプリをキルしたり,起動しなおしたりはしない
  • 起動している(履歴には残っている)が動作していない場合は改めて起動する
以上の動作を毎時00分毎に繰り返し,疑似的なブラウザの画面固定を行いたい.
これらのすべての場合において,できるだけリロード(新規タブを開くことも含む)を避けたい.


現状ではUsageStatsManagerを使用し,Chromeが最後に表示されたタイムスタンプを取得,
それが直近10分間より前であればIntentを用いてChromeを起動させています.

PackageNameを指定し,Chromeを起動させることで新しいタブが開き続けることは回避できていますが,
UsageStatsManagerで取得したタイムスタンプの正確性があまりないようで,期待した動作ではありません.

  • 他社製APPがForegroundにいるのか判定する方法
  • ブラウザなど,他のアプリを画面に表示する方法
などご存じの方,どうぞお力をお貸しください.

よろしくお願いいたします.

Yuriko Nagao

unread,
Feb 26, 2024, 4:55:43 AMFeb 26
to android-g...@googlegroups.com
・他社製APPがForegroundにいるのか判定する方法
 →その他社製APPが質問者様に協力してくれない限り
  難しいと個人的には思います
  質問者様が、他社製APPの状態を取得できるようなことを、あちら側で技術的にやって頂く必要があるのでは?です
 

・ブラウザなど,他のアプリを画面に表示する方法
 →他のアプリを表示する方法、というのは私は知らないのですが、自分のアプリとしてWebページを表示したい時は、外部ブラウザ起動ではなく、ChromeCustomTabsというのを使ったら、自分のアプリ内の画面としてWeb画面を表示できます
  (得意じゃないですが)WebViewというコンポーネントでもできると思います


おそらく質問の趣旨とズレた回答ですよねすいませぬm(__)m

2024年2月26日(月) 9:58 K.H.Box <ko.b...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/android-group-japan/0f3d4c71-1ab0-4fea-b48b-82c4993f9839n%40googlegroups.com にアクセスしてください。

K.H.Box

unread,
Feb 27, 2024, 4:04:15 AMFeb 27
to 日本Androidの会
nagaoさん
お世話になります,K.H.Boxです.

ご返信ありがとうございます.

>その他社製APPが質問者様に協力してくれない限り
>難しいと個人的には思います

やはりそうなってしまいますよね......
Google Chromeという他社製のアプリに乗っからせて頂いている立場なので仕方のないことだと割り切る他ないですね.

>外部ブラウザ起動ではなく、ChromeCustomTabsというのを使ったら、自分のアプリ内の画面としてWeb画面を表示できます
>(得意じゃないですが)WebViewというコンポーネントでもできると思います

ありがとうございます.以前WebView -> ChromeCustomTabs の流れで試行をしたのですがプラグインなどの問題でいったん諦め,
外部ブラウザを試していたところでした.
いろいろ調べているうちにChromeCustomTabsであればChromeの機能はほぼ使えるということがわかりましたので,ChromeCustomTabsで進めていく予定です.


Android開発は不慣れなものでどこまでがCodingの不備なのか,どこからが仕様なのかを見極めるために公式ドキュメントとにらめっこしながら精進いたします.
これからもお知恵をお借りするかもしれません.
よろしくお願いいたします.

Regards.

2024年2月26日月曜日 18:55:43 UTC+9 nagao...@nagaoyuriko.com:

Yuriko Nagao

unread,
Feb 27, 2024, 4:05:47 AMFeb 27
to android-g...@googlegroups.com
👍

2024年2月27日(火) 18:04 K.H.Box <ko.b...@gmail.com>:
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/android-group-japan/0124c033-d9d5-4904-bff9-32e37fa82519n%40googlegroups.com にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages