皆様
お世話になっております.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にいるのか判定する方法
- ブラウザなど,他のアプリを画面に表示する方法
などご存じの方,どうぞお力をお貸しください.
よろしくお願いいたします.