navigator.notification.alert()をプログラムで解除する方法はありますか?ロケーションサービスのエラーが発生したときに警告しますが、クリアされた場合は、手動で行う必要はありません。プログラムで電話の通知を却下する方法
アイデアや解決策はありますか?
ありがとうございます!
navigator.notification.alert()をプログラムで解除する方法はありますか?ロケーションサービスのエラーが発生したときに警告しますが、クリアされた場合は、手動で行う必要はありません。プログラムで電話の通知を却下する方法
アイデアや解決策はありますか?
ありがとうございます!
ダイアログボックスalert()
をプログラムで閉じることはできません。
alert()
アラートと同じように見える/動作する独自のカスタムオーバーレイを実装するのではなく、必要なときにいつでも簡単に破棄することができます。私はこれにbit more investigationもしなかったし、私はもはやPhoneGapのalert()
ダイアログが実際にネイティブJavaScriptのダイアログと同じであると信じてい
編集
:いくつかの追加の議論はここにあります。彼らは、(AndroidとiOSの両方で)ネイティブコードに戻ってアラートを表示するためにいくつかの巧妙なトリックを使用しています。
このように、ダイアログをプログラムで閉じることは可能ですが、JavaScriptコード内からは直接確認できません。 JavaScriptからネイティブコードにコールバックし、Phonegapアラートビューを見つけて解除するには、同様のトリッキーを使用する必要があります。最初の部分はかなり難しいかもしれません。第二部は簡単です:
おそらく、div要素のうちダイアログまたは他のいくつかの要素を作成し、簡単にそれを消すことができますので、ユーザーにそれを表示します。
はJavaScript
function geo_error() {
//only append error message if none exists
if ($('#page_container').find('.geo_error').length == 0) {
$('#page_container').append('<div class="geo_error">A Geolocation Error Has Occured</div>');
}
}
function get_success(position) {
//hide the error message on success
$('#page_container').find('.geo_error').hide();
}
CSS
.geo_error {
position: absolute;
top: 10px;
bottom: 10px;
left: 20px;
right: 20px;
z-index: 1000;
}
ねえ、私はこのためのJavaファイルの変更を持っています。 のsrc /アンドロイド/ Notification.java
は
まずこのことを宣言します。..
private AlertDialog alertbox;
その後、あなたはjavascriptの
から "却下" 送るケースを追加)(dlg.createへの参照を追加しましたelse if (action.equals("dismiss")) {
this.dismissAll();
}
追加する方法:
public void dismissAll(){
alertbox.dismiss();
}
忘れずに通知に同じものを追加してください。通知プラグイン
dismiss: function(message, completeCallback, title, buttonLabel) {
var _title = (title || "Alert");//Doesnt Matter!
var _buttonLabel = (buttonLabel || "OK");//Doesnt Matter!
exec(completeCallback, null, "Notification", "dismiss", [message, _title, _buttonLabel]);
},
のWWWフォルダにjsが今、すべての場所で
alertbox = dlg.create();
alertbox.show();
代わりの
dlg.create();
dlg.show();
を追加します。
そして、あなたは
navigator.notification.dismiss("",null,"");
これは、開かれたすべてのアラート/確認/プロンプト閉じますを呼び出すことによって行ってもいいです。