Notification機能を活用しよう! (1/3)
作成:2012-03-26 09:14
更新:2012-03-26 09:14
更新:2012-03-26 09:14
■navigator.notificationオブジェクトと「alert」
PhoneGapではHTMLを利用していますから、alert関数などを使えば簡単なアラートなどのメッセージを表示することはできます。が、アラートをもっとカスタマイズしたり、あるいは警告音やバイブレーションなどを利用したりするには、やはり専用のライブラリを利用する必要があります。こうした「ユーザーに注意や警告を伝えるための機能」について説明しましょう。
この「注意を伝える機能」は、navigator.notificationというオブジェクトとして用意されています。この中にあるメソッドを利用することで、さまざまな注意を行うことができます。
もっとも基本となるのはアラートダイアログを表示する、というやり方でしょう。これは「alert」というメソッドとして用意されています。このメソッドは以下のような形で定義されます。
下のリスト欄に、ごく簡単な利用例を挙げておきます。ボタンをクリックするとアラートを表示し、そしてテキストエリアに簡単なメッセージを表示します。ここではdoAction内でnavigator.notification.alertを呼び出し、コールバック関数にcallbackAlertを用意しています。alertからcallbackAlertの呼び出しが行われていることが確認できるでしょう。
この「注意を伝える機能」は、navigator.notificationというオブジェクトとして用意されています。この中にあるメソッドを利用することで、さまざまな注意を行うことができます。
もっとも基本となるのはアラートダイアログを表示する、というやり方でしょう。これは「alert」というメソッドとして用意されています。このメソッドは以下のような形で定義されます。
navigator.notification.alert( メッセージ , 関数 , タイトル , ボタン名 );メッセージ、タイトル、ボタン名などをそれぞれ設定できるだけでなく、アラートを表示した後に呼び出されるコールバック関数も用意することができます。これにより、アラート後の処理を実装することが可能です。
下のリスト欄に、ごく簡単な利用例を挙げておきます。ボタンをクリックするとアラートを表示し、そしてテキストエリアに簡単なメッセージを表示します。ここではdoAction内でnavigator.notification.alertを呼び出し、コールバック関数にcallbackAlertを用意しています。alertからcallbackAlertの呼び出しが行われていることが確認できるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※index.html
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript"
src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript" src="phonegap-1.4.1.js"></script>
<script type="text/javascript">
function doAction(){
navigator.notification.alert("これがアラートです。",callbackAlert,"注意","はいはい");
}
function callbackAlert(){
document.getElementById('msg').innerText = "アラートを閉じました。";
}
</script>
</head>
<body>
<!-- home page -->
<div id="home" data-role="page">
<div data-role="header">
<h1>Sample</h1>
</div>
<div data-role="content">
<h2>Sample Page</h2>
<textarea id="msg"></textarea>
<button onclick="doAction();">Click</button>
</div>
</div>
</body>
</html>
※関連コンテンツ
「PhoneGapによるAndroid/iPhoneアプリ開発入門」に戻る