2017-01-07 7 views
0

Androidのタブレットには、クリックするとChromeの全画面が表示されるウェブリンクがあります。Android:アプリからChromeに戻す

このウェブサイトでは、リンクをクリックして(Android Studioで開発された)アプリケーションを開くことができます。しかし、そのアプリが開かれればすぐにChromeにフォーカスを戻すことができます。私は人々がこのフォーラムでタスクを切り替える方法があると言いましたが、コードやリンクを提供する方法はありませんでした。

タスクマネージャから私のアプリケーションを無効にしても(それでも実行されていると)良いかもしれません。

私がやっていることは、Chromeウェブサイトからアプリケーションに開始コマンドと終了コマンドを送信することです。すなわち1回目に開き、何かをしてアプリを起動します。アプリケーションは開いたままで、ウェブサイトから「停止」コマンドを受け取るまではそれが問題です。プロセスが繰り返されます。

私はonResume関数内でintentのgetdataを試しましたが、呼び出された後にアプリケーションが 'フォーカス'をウェブサイトに戻さないため、次回Chromeがデータを送信したときにonResumeが呼び出されません。このアプリは「非表示」なので、開いたときには、アプリが開かれたことを知らずにChromeウェブサイト内でユーザーが継続されます。しかし、私が言ったように、彼らはクロムの中で継続しているにもかかわらず、実際の焦点は今他のアプリにあります。それはちょっと変だ。

これは少し違っています。私が何を意味しているかを知っていれば、すでに開かれているChromeリンクに戻る必要があります。

私のアプリ内でこれをプログラムで行う方法についての助けがありがとうございます。

答えて

0

アプリが起動したら、バックグラウンドサービスを開始し、開始するように指示してから終了します(ある場合)。これは、以前のアクティビティを表示するOSに制御を戻します。

あなたのアプリが停止命令を受けた後、同様のことを行う - そして

Androidはサービスタイプexplained hereのカップルを持っているを終了し、あなたのバックグラウンドサービスに停止コマンドを送信します。通常は、starting a service directly from another appがあれば完全に回避することができますが、私はあなたがブラウザから逆方向リンク機能を使用していると考えているため、上記のリンクをキャッチしてキックスタートするUIを持たないアクティビティを提案します。

+0

私はChromeのリンク、アプリ、サービスが必要ですか?私は、最初のアプリを開いてフォーカスを外すために空の目に見えない2番目のアプリを作成することを考えています。その後、彼らは2番目のアプリケーションに焦点を当てる必要があるので、彼らはウェブサイトを通過し、停止を送信すると、onResume(1番目のアプリで)キックオフする必要があります。私が知っているハッキーの種類.... –

+0

バックグラウンド処理が必要なのはサービスのためのものです –

0

が見つかりました。これは動作します:

super.onBackPressed();

+0

あなたのやりたいことはあなたの活動を終わらせることだけですか?これはfinish()を呼び出すのと同じです。この文脈では私の目的のためには –

+0

が動作しますが、元の質問はChromeに戻す方法でした。 –

関連する問題