« 2013年6月 | トップページ | 2013年8月 »

2013年7月

2013年7月30日 (火)

【Tizen】sdbで配布されたアプリのパッケージファイル(.wgt)をインストールする

アプリの開発を進めていくと、アプリのパッケージファイルを配布し、

テストを行うかと思います。

そんなときに、配布したアプリのパッケージファイルをインストールする方法についてです。


【sdbを使う!】

tizenには、Smart Development Bridge、略してsdbと呼ばれるツールが用意されています。

これを使用することで、配布されたwgtファイルを端末やエミュレータに

インストールすることが出来ます。


ちなみにこのsdbですが、明らかにパクってるだろうってぐらいAndroidのadbにそっくりです。

では、順を追ってインストールするまでの方法を記載します。


●sdbによるwgtファイルのインストール手順

(1) コマンドプロンプトを起動する

sdbは、コマンドプロンプトにて使用します。まず起動しましょう。


(2) " (tizenSDKインストール先)/tizen-sdk/tools/"へ移動

sdbコマンドは、" (tizenSDKインストール先)/tizen-sdk/tools/"に格納されています。

コマンドプロンプトでここまで移動しましょう。

面倒なら、環境変数にパスを追加しておくと◎。

> cd  (tizenSDKインストール先)/tizen-sdk/tools/


(3) sdbのインストールコマンドを打つ

手順(2)まで終われば、いよいよsdbを使用します。

インストールコマンドは以下のとおり。

> sdb install (パッケージファイル名)

パッケージ名には、インストールするパッケージファイルの名前をパスも含めていれてください。

これでパッケージファイルのインストールは完了です。

心置きなくテストをしましょう!


--------------------------------------------------

自作アプリ、

いつでもクイックランチャー ver3.0アップデートを

公開しました!

Slidetask

Google playよりダウンロード可能ですので、是非お使いください!

https://play.google.com/store/apps/details?id=com.yso.slidetask


感想や改善点等、聞かせていただけるとうれしいです。

アプリの中の実装方法で気になる点のご質問も大歓迎です!

2013年7月23日 (火)

【Tizen】Preferencesを使用して、データの保存と書き込みを行う

アプリを作っていると、データを永続的に保存したい場合があるかと思います。

そんな場合、Androidなら主にSharedPreferences、

iOSならUserDefaultを使用するかと思います。


Tizenで同様のことを行いたい場合は、widget.preferencesを使用します。

使用方法は、以下のとおりです。

    // キー"test"の値を取得
    console.log("key = test : val = " + widget.preferences.getItem("test"));
    // キー"test"の値を更新
    widget.preferences.setItem("test", "testVal");

上記のプログラムを実行した際の1回目と2回目のコンソール出力結果は、

以下のようになります。

1回目:"key = test : val = null"

2回目:"key = test : val = testVal"


なお、config.xmlに、あらかじめキーと値を設定しておくことも可能です。

config.xmlに記載する場合は、次のようになります。

<?xml version="1.0" encoding="UTF-8"?>

<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/preference-sample" version="1.0.0" viewmodes="maximized">

    <tizen:application id="lw9vnoueZ4.preferencesample" package="lw9vnoueZ4" required_version="2.2"/>

    <content src="index.html"/>

    <icon src="icon.png"/>

    <name>preference-sample</name>

    <preference name="test" value="testVal" readonly="false"/>

</widget>

使用するのは、赤字で表記した部分です。

Preferenceタグを使用します。

各パラメータについては、以下のとおりです。

"name" ・・・ キーの名前。

"value" ・・・ 保存する値。

"readOnly" ・・・ 保存したvalueの値の変更を許可するか否か。

2013年7月21日 (日)

【Tizen】 インストール済みアプリケーションの一覧を取得する

インストール済みアプリの一覧を取得してみました。

全アプリケーションの情報は、

tizen.package.PackageInformaiton型の配列で渡されます。

PackageInformationクラスからは、以下の情報が取得できます。

・PackageInformationクラスのプロパティ
プロパティ 概要
PackageId id アプリごとに付与されたパッケージID。
config.xmlの<tizen:application>タグpackage属性に
設定された値。
DOMString name アプリケーションの名前。
DOMString iconPath アプリのアイコンが保存されている場所を示すパス。
DOMString version アプリのバージョン。
long totalSize アプリのデータサイズ。アプリ本体のデータサイズと、
アプリが別途保存しているデータサイズの合計値。
long dataSize アプリが保存しているデータのサイズ。
アプリ本体のデータサイズは除く。
Date lastModified アプリの最終更新日時。
DOMString author アプリの製作者名。
DOMString description アプリの説明文。
ApplicationId[]  appIds パッケージに設定されたID一覧。


では、さっそ実装方法についてです。


●config.xmlに、privilageを追加

tizen.packageAPIは、Tizen Web APIに含まれます。

この中のAPIを使うには、config.xmlにprivilageを追加する必要があります。

追加するprivilageは、"http://tizen.org/privilege/package.info"です。

<?xml version="1.0" encoding="UTF-8"?>

<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" id="http://yourdomain/sample" version="1.0.0" viewmodes="maximized">

    <tizen:application id="Vpcr6FlQ6Q.sample" package="Vpcr6FlQ6Q" required_version="2.2"/>

    <content src="index.html"/>

    <icon src="icon.png"/>

    <name>sample</name>

    <tizen:privilege name="http://tizen.org/privilege/package.info"/>

    <tizen:setting screen-orientation="portrait" context-menu="enable" background-support="disable" encryption="disable" install-location="auto" hwkey-event="enable"/>

</widget>


●javascript

javascriptのソースは、下記のようになります。

// アプリケーション一覧情報取得成功時に呼ばれる
// 引数には、PackageInformationクラスの配列が渡される。
function onSuccess(packages) {
    for (var i = 0; i < packages.length; i++) {
        var item = packages[i];
        // 全アプリの、バージョン番号、名前、IDをコンソールに表示
        console.log("[" + item.version + "/" + item.name + "/" + item.id + "]"); 
    }
}
function onError(err) {
    console.log("Can't obtain packages list" + err.name);
}
function checkAppInstalled() {
    // インストールアプリ一覧取得APIをコール
    tizen.package.getPackagesInfo(
        onSuccess, // 取得成功時に呼ばれるコールバック
        onError); // 取得失敗時に呼ばれるコールバック
}

2013年7月15日 (月)

【Tizen】htmlのタグを使って、別のアプリケーションを起動する

以前、Tizen Web APIのlaunchAppメソッドを使って、

別のアプリを起動する方法について記載しました。

今回は、htmlの<a>タグを使って別のアプリケーションを起動する方法について

記載します。


ちなみに<a>タグを用いた他のアプリの起動は、

Tizen SDK2.0の頃にエミュレータで試したのですが、うまく起動しませんでした。

これについて調査したところ、エミュレータのみに存在していたバグだったそうです。

TizenSDK2.0当時のエミュレータはアプリ起動機能周辺にいくつかバグがあったようで、

これらは最新のTizenSDK2.2では修正されています。

僕もバグの情報をキャッチし、改めてTizenSDK2.2で今回の<a>タグによる起動を

試したところ、正しく動作することが確認できました!


さて、本題です。

実装方法なのですが、

【Tizen】ウェブサイトのリンクから、アプリケーションを起動する で記載した内容と、

全く同じです。なので、こちらの記事を見ていただければ。

(手抜きですみません・・・。)


サクっと説明しちゃうと、

起動される側のアプリのconfig.xmlに、

<tizen:app-control>タグを追記してスキームを設定すればOKです。


もし、以上の内容で不明な点がありましたら、ご連絡頂けますと幸いです。m(_ _)m

2013年7月11日 (木)

【Tizen】ウェブサイトのリンクから、アプリケーションを起動する

AndroidやiPhoneで、ブラウザで表示したウェブサイトのリンクを

タップすると、アプリケーションが起動するというのを見たこと思います。

実際に、実装したことがある人も多いのではないでしょうか。

今回は、これをTizenで実現する方法について記載します。

 

機能の実現には、アプリ側の実装と、それにあわせたウェブサイト側の

実装が必要です。

それぞれについて、説明します。

 

●アプリ側の実装

config.xmlに、以下のとおり<tizen:app-control>タグを追記します。

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/test" version="1.0.0" viewmodes="maximized">
    <tizen:app-control>
        <tizen:src name="index.html"/>
        <tizen:operation name="
http://tizen.org/appcontrol/operation/view"/>
        <tizen:uri name="test"/>
    </tizen:app-control>

    <tizen:application id="fF0ic3AiYX.test" package="fF0ic3AiYX" required_version="2.2"/>
    <content src="index.html"/>
    <icon src="icon.png"/>
    <name>test</name>
    <tizen:privilege name="http://tizen.org/privilege/application.launch"/>
    <tizen:setting screen-orientation="portrait" context-menu="enable" background-support="disable" encryption="disable" install-location="auto" hwkey-event="enable"/>
</widget>

追記するのは赤字の部分です。

<tizen:app-control>タグは、アプリが、外部からの起動要求を受け取る条件を

指定するためのものです。

Androidアプリ開発者の方には、intent-filterのようなものと言うと、

解りやすいかもしれません。

 

各タグのname属性への指定値については、以下のとおりです。

タグ名 概要
tizen:src アプリを起動する際に、最初に表示するhtmlファイルを指定する。
tizen:operation

受け取る起動要求の振る舞いを設定する。

今回のように、ウェブサイトのリンクから起動要求を受け取る場合は、

指定値は"http://tizen.org/appcontrol/operation/view"固定。

tizen:uri

ウェブサイトから起動する際の、スキームを設定する。

指定する値は任意でよい。

上記のサンプルソースでは、"test"と指定している。

 

アプリ側の実装は、以上で完了です。

 

●ウェブサイト側の実装

アプリのconfig.xmlに記述したtizen:uriに指定したスキームを、

リンク先として指定すればOKです。

すなわち、ウェブサイトに以下の記述を組み込めばOKです。

<a href="test://" />

本サンプルでは、アプリのconfig.xmlの<tizen:uri>タグには"test"と指定しました。

よって、このアプリを指定するには、上記サンプルのとおり、

ウェブサイトのリンクに"test://"を設定すればOKです。

 

これで、Tizen端末上のウェブブラウザでこのリンクをクリックすると、

アプリが起動するようになります。

2013年7月10日 (水)

【Tizen】<新>aタグで色々なスキームを使ったときの動きを確かめてみた

以前、「」の記事にて、

htmlの<a>タグにいくつかのスキームを指定し、

そのリンクをクリックした際の動作を確認しました。

 

しかし、Tizen SDK2.2にバージョンアップしたことにより、

少し動作の違いが見られましたので、改めて書き留めておきたいと思います。

 

なお、前回確認した際のSDKのバージョンは2.0でした。

 

今回も、前回同様、確認したスキームは

http, https, file, telto, mailtoの5つです。

 

確認方法も前回同様、↓みたいな感じです。

<確認方法>
(1) index.htmlに、<a>タグを書き込む。href属性に、色々なスキームの値を設定する。
 (例)
 <a href="http://dummy.co.jp"></a>
 <a href="mailto:name@dummy.com"></a>
      :
      
(2) アプリを実行し、<a>タグのリンクをタップする。
     そのときの挙動を確認する。

 

以下が、TizenSDK2.2での確認結果となります。

 

●http / httpsスキーム

ブラウザが起動します。以前のSDKと同様です。

<a>タグを使えば、ブラウザの起動はラクラクですね。

 

●fileスキーム

fileスキームを指定した場合は、

アプリ上にそのファイルをロードするようです。

残念ながら、都合よくギャラリーアプリが起動したりはしませんでした。

これも古いSDKと同様ですね。

 

●teltoスキーム

SDK2.2でも、以前までと同様、やっぱり電話アプリは起動しませんでした。

 

●mailtoスキーム

なんと、メールアプリが起動します!

古いバージョンのSDKでは起動しなかったので、とてもありがたいです。

と、いうわけで、差分が見られたのはmailtoスキームのみとなります。

teltoスキームも、やがて対応されるのでしょうか。

すごく楽しみになってきますね!

【Tizen】ビルド時、Security Profilesをチェックしろと言われてエラーになる場合の対処法

Tizenでビルドしたら、

「Active secure profile is not set. Please check the signing configurations at Preferences > Security Profiles.」

といってビルドエラーになったときの対処法です。

※エラー時の画面
Error

 

これは、アプリケーション用の証明書が用意されていないために

発生します。

 

と、いうわけで、まずはアプリケーション用の証明書を作成します。

 

●アプリケーション用署証明書を作成する

アプリケーション用証明書の作成方法は以下のとおり。

 

(1) コマンドプロンプトを起動する。

 

(2) "(TizenSDKインストール先)/tools/certificate-generator "に移動する。

 > cd c:\tizen-sdk\tools\certificate-generator

 

(3) certificate-generator.batを実行する。

 > certificate-generator.bat

実行すると、下記のようにいろいろ質問がでてきますので、それぞれ入力してください。

 > Please enter the country name(optional, two letters):
     (任意)
  > Please enter the state or province name(optional):
    (任意)
  > Please enter the city name(optional):
    (任意)
  > Please enter your name(optional, default is 'author'):
    (任意)
  > Please enter your organization name(optional):
    (任意)
  > Please enter your department name(optional):
    (任意)
  > Please enter your email id(optional):
    (任意)
  > Please enter password for pkcs12 format key certificate:
    (入力必須 ※自由なパスワードを設定してください)
  > Please enter alias for generated pkcs12 structure:
    (入力必須 ※自由な名前を設定してください)
  > Please enter file name for storing pkcs12 file (*.p12):
    (入力必須 ※拡張子が"p12"の、自由な名前を設定してください。 例:test.p12)

 

以上で、証明書ファイルの作成は完了です。

作成に成功したら、証明書作成先パスが表示されるので、控えておいてください。

ここまでの作業が終わったら、次の"使用する証明書ファイルの設定"にお進みください。

 

 

●使用する証明書ファイルを設定する

証明書ファイルの作成が終わったら、その証明書ファイルを使用するよう、

Tizen IDEに設定する必要があります。

 

(1) "Window" ⇒ "Preferences"の順で選択し、Preferencesダイアログを開く。

Blog211


(2) "Tizen SDK" ⇒ "Security Profiles"の順で選択し、SecurityProfiles画面を開く。

Blog212

 

(3) "Add"を選択し、Profileを追加する。

名前の入力を促されるので、任意の名前を入れればOKです。

Blog213

 

(4) "Edit"を選択し、作成した証明書ファイルを指定する

以下の図に従い、作成した証明書ファイルパスの指定と、パスワードの入力を

行ってください。

設定が終われば、ダイアログを閉じてください。

Blog214

 

以上で、証明書の設定が完了です。

ここまでの設定が完了すれば、無事ビルドが通るはずです。

2013年7月 9日 (火)

【Tizen】Tizenは終わっていなかった!? Tizen中止の噂を否定する声明が発表されました

先日、終わったと噂されていたTizenですが、

intelから、これを否定する声明が発表されました。

http://rbmen.blogspot.jp/2013/07/inteltizen.html


とはいえ、この時期にまだマーケティングの話も出てきてないようだと、

発売は当初計画より遅れそうですね。


とりあえず、時間的余裕が出来たと考えて、

のんびり調査を続けていきたいと思います!


次はどのあたりを調査しようかな~

2013年7月 5日 (金)

【Tizen】プロジェクト中止の噂が流れる中、SDK2.2がリリース!

昨日、とある人物が「Tizenプロジェクト中止」という話をツイートしたことが発端で、

不穏な空気が漂っているTizen。

しかし、同日、実にひっそりと、Tizen SDK2.2がリリースされました。

こちらは全然話が挙がっていませんね・・・。

中止という話を聞いて不安にもなりましたが、

正式発表ではないこと、また、SDK2.2がリリースされたように、

実際に動きがあることから、これからも発売を信じて勉強を続けていきたいと

思います。


▼Tizen SDK2.2のダウンロードはこちらから

https://www.tizen.org/blogs/tsg/2013/tizen-2.2-beta-sdk-release


リリースノートを読むと、

バックキーやメニューキーが追加されているようです!

楽しみですね。


早速インストールしなくては!!

2013年7月 4日 (木)

【Tizen】ブラウザを起動する

Tizenの場合、<a>タグを使えば簡単にブラウザを起動できるのですが、

場合によってはJavascriptからブラウザを起動したい場合もあるのかと思い、

その方法を書き残しておくことにしました。

 

なお、アプリ起動に使用するAPIは、

【Tizen】メールアプリの新規作成画面を起動する」にて概ね記載したので、

今回はざっくりサンプルコードを貼り付けるだけにします。

 

●config.xml
※config.xmlのprivilegeに、下記のように"http://tizen.org/privilege/application.launch"を追加しないとアプリ起動APIが使用できません

<?xml version="1.0" encoding="UTF-8"?>

<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/startBrowzerApp" version="1.0.0" viewmodes="maximized">

    <tizen:application id="IhPtZHIZOO" required_version="1.0"/>

    <content src="index.html"/>

    <icon src="icon.png"/>

    <name>メールアプリ起動元アプリ</name>

    <tizen:privilege name="http://tizen.org/privilege/tizen"/>

    <tizen:privilege name="http://tizen.org/privilege/application.kill"/>

    <tizen:privilege name="http://tizen.org/privilege/application.launch"/>

</widget>

●index.html

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8"/>
    <meta name="description" content="A Tizen Web UI FW single-page template generated by Tizen Web IDE"/>
    <title>メールアプリ起動元アプリ</title>

    <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js"
        data-framework-theme="tizen-white"></script>

    <script type="text/javascript" src="./js/main.js"></script>
    <script type="text/javascript" src="./js/startBrowzerApp.js"></script>
    <link rel="stylesheet" type="text/css" href="./css/style.css"/>
</head>

<body>
    <div data-role="page">
        <div data-role="header" data-position="fixed">
            <h1>ブラウザアプリ起動元サンプルアプリ </h1>
        </div><!-- /header -->

        <div data-role="content">
            <div data-role="button" onclick="javascript:startBrowzerApp()">ブラウザアプリ起動</div>
        </div><!-- /content -->

        <div data-role="footer" data-position="fixed">
            <h4>Footer content</h4>
        </div><!-- /footer -->
    </div><!-- /page -->
</body>
</html>

●startBrowzerApp.js(jsフォルダに追加したファイル)

// ブラウザアプリを起動する
function startBrowzerApp() {

/*
  * 第一引数には、
  * "http://tizen.org/appcontrol/operation/view"を、
  * 第二引数には、
  * ブラウザで表示したいウェブサイトのURLを指定する。
  */
var appControl = new tizen.ApplicationControl(
    "http://tizen.org/appcontrol/operation/view", // 第1引数は左記の値で固定
    "http://sora-mameo.cocolog-nifty.com/blog/", // 第2引数はブラウザで表示したいURLを指定
    null,
    null,
    null
);

// ブラウザアプリを起動
tizen.application.launchAppControl(
    appControl,
    null,
    onSuccess,
    onError,
    null);

}

// アプリ起動成功時に呼ばれるコールバック
function onSuccess() {
     console.log("start browzer app succeed");
}

// アプリ起動失敗時に呼ばれるコールバック
function onError(e) {
     console.log("start browzer app failed. message: " + e + " : " + e.message);
}

Tizen端末と出会えるのはいつの日か

家に帰宅し、即行布団にもぐりこんだせいか、こんな時間に目が覚めてしまいました。

眠れないし、仕方ないのでネットサーフィンしているとこんな記事が・・・。

http://www.gizmodo.jp/2013/07/tizen_1.html


oh...(´・ω・`)

やっぱり開発遅れてるんですね。

当初、8月~9月に発売と言っていたにもかかわらず、

現時点でほとんど表に出ていなかったですしね。

年内の発売すらも危うい状況だそうです。

楽しみにしてるので早く発売してほしいところではありますが、

仕方ないものは仕方ないのでのんびりブログでも書いていくことにします。

2013年7月 1日 (月)

【Tizen】メールアプリの新規作成画面を起動する

http://sora-mameo.cocolog-nifty.com/blog/2013/07/tizen-b70c.htmlに書いたように、

mailtoでメールアプリは起動しませんでした。

「じゃあどうすればメールアプリの新規作成画面は起動するんだ!?」

ということで、起動方法を調べてみました。

メールアプリ起動に使用するAPIは、以下のものになります。


●tizen.application.launchAppControl メソッド
void launchAppControl(
        ApplicationControl appControl, // 起動先アプリを指定する
        optional ApplicationId? id, // 起動先アプリID。アプリを明示的に指定する際に使用。
        optional SuccessCallback? successCallback, // 起動成功時のコールバックメソッド
        optional ErrorCallback? errorCallback, // 起動失敗時のコールバックメソッド
        optional ApplicationControlDataArrayReplyCallback? replyCallback // 起動先アプリからデータを受け取る際に呼ばれるコールバック
)

このlaunchAppControl()が、アプリを起動するAPIです。

メールアプリ起動時に必要なのは、第一引数のappControlのみです。

他は使用しないので、null渡しで大丈夫です。

第一引数のappControlは、非常に重要です。

Androidアプリ開発の経験がある方は、Androidで言うところのインテントに

当たるものと言うと解りやすいかと思います。

なお、launchAppContol()使用時は、config.xmlに

"http://tizen.org/privilege/application.launch"のprivilegeを追加する必要があります。


●tizen.ApplicationControl クラス
[コンストラクタ]
tizen.AppControl(
        DOMString operation, // 起動先アプリのふるまいを指定する
        optional DOMString? uri, // 起動先アプリへ渡すURI
        optional DOMString? mime, // 起動先アプリに渡すデータのmimeタイプ
        optional DOMString? category, // 起動先アプリのカテゴリ
        optional ApplicationControlData[]? data // 起動先アプリに渡すデータ
)

メールアプリを起動する際は、第一引数operationに、

"http://tizen.org/appcontrol/operation/compose"を指定します。

そのほかの引数は、指定する必要はないので、null渡しとなります。

ただし、メールアプリに宛先や添付ファイル等のデータを渡したい場合は、

第五引数のdataを使用します。

tizen.ApplicationControlDataクラスの定義は、以下のようになっています。

●tizen.ApplicatonControlDataクラス
[コンストラクタ]
tizen.ApplicatonControlData(
        DOMString key,
        DOMString[] value
)

所定のキーと、それに対するデータを与えれば、メールアプリにデータを渡せるというしくみになっています。

以下が、メールアプリに渡せるデータのキー一覧です。

 表. tizen.ApplicatonControlDataで渡せるデータの一覧
データキー
宛先(To) http://tizen.org/appcontrol/data/to
宛先(cc) http://tizen.org/appcontrol/data/cc
宛先(bcc) http://tizen.org/appcontrol/data/bcc
メールタイトル http://tizen.org/appcontrol/data/subject
メール本文 http://tizen.org/appcontrol/data/text
添付ファイルのパス http://tizen.org/appcontrol/data/path


これらを使用した、サンプルソースは以下のとおりです。

●config.xml

<?xml version="1.0" encoding="UTF-8"?>

<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/startBrowzerApp" version="1.0.0" viewmodes="maximized">

    <tizen:application id="IhPtZHIZOO" required_version="1.0"/>

    <content src="index.html"/>

    <icon src="icon.png"/>

    <name>メールアプリ起動元アプリ</name>

    <tizen:privilege name="http://tizen.org/privilege/tizen"/>

    <tizen:privilege name="http://tizen.org/privilege/application.kill"/>

    <tizen:privilege name="http://tizen.org/privilege/application.launch"/>

</widget>


●index.xml

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8"/>

    <meta name="description" content="A Tizen Web UI FW single-page template generated by Tizen Web IDE"/>

    <title>メールアプリ起動元アプリ</title>

    <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>

    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>

    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js"

        data-framework-theme="tizen-white"></script>

    <script type="text/javascript" src="./js/main.js"></script>

    <script type="text/javascript" src="./js/startMailApp.js"></script>

    <link rel="stylesheet" type="text/css" href="./css/style.css"/>

</head>

<body>

    <div data-role="page">

        <div data-role="header" data-position="fixed">

            <h1>メールアプリ起動元サンプルアプリ </h1>

        </div><!-- /header -->

        <div data-role="content">

            <div data-role="button" onclick="javascript:startMailApp()">メールアプリ起動</div>

        </div><!-- /content -->

        <div data-role="footer" data-position="fixed">

            <h4>Footer content</h4>

        </div><!-- /footer -->

    </div><!-- /page -->

</body>

</html>


●startMailApp.js (※jsフォルダ内に追加)

// メールアプリを起動する

function startMailApp() {

    // メールアプリに渡す宛先(To)

    var sendToData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/to",

    ["name@dummyto.com"]);

 

    // メールアプリに渡す宛先(cc)

    var sendCcData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/cc",

    ["name@dummycc.com"]);

 

    // メールアプリに渡す宛先(bcc)

    var sendBccData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/bcc",

    ["name@dummybcc.com"]);

 

    // メールアプリに渡すタイトル

    var sendTitleData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/subject",

    ["sample-title"]);

 

    // メールアプリに渡す本文

    var sendTitleData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/text",

    ["sample-text"]);

 

    // メールアプリに渡すパス

    var sendTitleData = new tizen.ApplicationControlData(

    "http://tizen.org/appcontrol/data/path",

    ["file:///dummy.png"]);

 

    var sendData = [sendToData, sendCcData, sendBccData, sendTitleData, sendTitleData, sendTitleData];

 

    var appControl = new tizen.ApplicationControl(

    "http://tizen.org/appcontrol/operation/compose",

    null,

    null,

    null,

    sendData

    );

 

    // メールアプリを起動

    tizen.application.launchAppControl(

    appControl,

    null,

    onSuccess,

    onError,

    null);

}

// メールアプリ起動成功時に呼ばれるコールバック

function onSuccess() {

    console.log("start mail app succeed");

}

// メールアプリ起動失敗時に呼ばれるコールバック

function onError(e) {

    console.log("start mail app failed. message: " + e + " : " + e.message);

}

【Tizen】aタグで色々なスキームを使ったときの動きを確かめてみた

※この記事は、Tizen SDK 2.0時に確認した、古い情報となっています。
   Tizen SDK2.2にて検証した結果を下記の記事に記載しておりますので、
   こちらをご覧ください。

   http://sora-mameo.cocolog-nifty.com/blog/2013/07/tizena-312d.html


スマホでウェブサイトを見てると、

mailtoスキーマやteltoスキーマが設定されていて、

リンクをタップするだけでブラウザからメールアプリや電話アプリが起動しますよね。

tizenのアプリなら、言語がhtmlなので、

ウェブサイトと同様に<a>タグを使えば、簡単にメールアプリや電話アプリを

起動できるのではないかと思い、確認してみました。

確認したスキームは、

http, https, file, telto, mailtoの5つです。

確認方法は↓みたいな感じです。

<確認方法>
(1) index.htmlに、<a>タグを書き込む。href属性に、色々なスキームの値を設定する。
 (例)
 <a href="http://dummy.co.jp"></a>
 <a href="mailto:name@dummy.com"></a>
      :
      
(2) アプリを実行し、<a>タグのリンクをタップする。
     そのときの挙動を確認する。

以下が、確認結果です。

なお、確認はtizen sdk2.0のエミュレータ上で行いました。

●http / httpsスキーム

見事ブラウザが起動してきました!

<a>タグを使えば、ブラウザの起動はラクラクですね。


●fileスキーム

fileスキームを指定した場合は、

アプリ上にそのファイルをロードするようです。

残念ながら、都合よくギャラリーアプリが起動したりはしませんでした。


●teltoスキーム

これも残念なことに、電話アプリは起動しませんでした・・・。


●mailtoスキーム

またまた残念なことに、メールアプリは起動しませんでした・・・。


なんだか、結構残念な感じです。

mailtoやteltoが使えれば、アプリの連携処理の実装も楽になるし、

いいな~って思ってたんですけどね(- -;)

« 2013年6月 | トップページ | 2013年8月 »

購入


無料ブログはココログ