質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

2回答

3841閲覧

Androidのバックボタンを無効にしたい

agepan

総合スコア66

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2018/06/20 01:10

現在Monacaでアプリ開発をしております。

Android端末のバックボタンを押したとき、前の画面に戻る操作をキャンセルしたいのですが、以下のコードで試してみましたが、すべて前の画面に戻ってしまいました。

バックボタンを無効にする方法ほかにありますでしょうか?
よろしくお願いいたします。

JavaScript

1ons.setDefaultDeviceBackButtonListener();

JavaScript

1 document.addEventListener("backbutton", function(e){ 2 ons.setDefaultDeviceBackButtonListener(); 3 }, false); 4

JavaScript

1 document.addEventListener("backbutton", function(e){ 2 3 // 自身のページを履歴に追加 4 history.pushState(null, null, null); 5 // ページ戻り時にも自身のページを履歴に追加 6 $(window).on("popstate", function(){ 7 history.pushState(null, null, null); 8 }); 9 10 }, false); 11

JavaScript

1 document.addEventListener("backbutton", function(e){ 2 e.preventDefault(); 3 }, false); 4

JavaScript

1 document.addEventListener("backbutton", function(e){ 2 3 if (e.getKeyCode() == KeyEvent.KEYCODE_BACK && e.getAction() == KeyEvent.ACTION_DOWN) { 4 // trueを返すことでbackKeyの動作を無効化 5 return true; 6 } 7 8 }, false); 9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

下記2つのコードを書くことでバックキーを無効化できました。

JavaScript

1 // バックキーを無効化 2 ons.disableDeviceBackButtonHandler(); 3 document.addEventListener("backbutton", function(){}, false); 4

投稿2018/06/21 10:41

agepan

総合スコア66

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

deviceready または ons.ready のタイミングで定義してみるのはいかがでしょう。

JavaScript

1document.addEventListener("deviceready", function () { 2 ons.setDefaultDeviceBackButtonListener(function(){ 3 // バックボタン処理を記述 4 }); 5}, false);

投稿2018/06/20 02:54

編集2018/06/20 03:08
KoichiAkamine

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

agepan

2018/06/20 04:59

ご回答ありがとうございます。試してみましたが変わりませんでした…端末によって効く効かないといったことがあるんでしょうか…
KoichiAkamine

2018/06/20 12:52

うーん、稼働中のアプリのソースからコピーしたのですが、動かないですか... 基本的なところですが、 ・JavaScript ファイルはきちんと読み込まれているか ・JavaScript エラーは起きていないか (別の箇所でエラーが起きているためにイベント付与がきちんと動作していない可能性) ・OnsenUI のバージョン (v2.x.x) ・document.addEventListener("backbutton", function(e){ ... を、 deviceready あるいは ons.ready 時に定義してみては ・ https://ja.onsen.io/v2/api/js/ons.html disableDeviceBackButtonHandler は効くか ・検索してみる : 端末名 + cordova back button not working
agepan

2018/06/21 10:43

ありがとうございます、OnsenUIのそれとCordovaのそれ、2つのコードを併せて書く必要があったみたいで、無事バックキーの無効化ができました。自己解決欄にコードを記載しましたので参考までにご覧頂ければと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問