showWebPopupでmailtoを実行した場合の挙動について

42 views
Skip to first unread message

yuuya

unread,
Jan 16, 2014, 7:36:08 AM1/16/14
to coro...@googlegroups.com
お世話になっております。yuuyaです

表題の件ですが、開発中のアプリの不具合報告先として
showWebPopupをつかいjavascriptでmaitoを実行するhtmlファイルを
呼び出すロジックをいれました。

テスト機であるandroidにインストールし挙動を確認してみると、
どのメーラを起動するかという確認ダイアログが続けて2回
表示されてしまいます。

以下が該当部分の処理となります。

local function urlHandler(event)
local url = event.url
if( string.find( url, "http:" ) ~= nil or string.find( url, "mailto:" ) ~= nil ) then
print("url: ".. url)
system.openURL(url)
end
return true
end

local url,options,webView
url = "mailer.html"
options = {
hasBackground=false,
autoCancel=false,
baseUrl=system.ResourceDirectory,
urlRequest=urlHandler
}
webView = native.showWebPopup( _W/2 , 500 , 200  , 30, url, options )

質問は以下となります
1.メーラ選択ダイアログが2回以上出てしまうのは仕様上のバグなのか
2.上記以外でメーラを起動させる方法があるか

以上です。よろしくお願いいたします。

TakuroFUKAMIZU

unread,
Jan 25, 2014, 5:27:30 PM1/25/14
to coro...@googlegroups.com
yuuyaさん

はじめまして。深水です。

先に2についてですが、web上でmailtoを踏んだ場合と同じ挙動で良ければ、単純に
system.openURL("mailto:メールアドレス")
でも問題無いかと思いますので、ご検討ください。

(調整中ですぐに実機確認ができる状態でない為、シュミレータ上でしか確認していません。
仕組み上行けると思いますが駄目だったらごめんなさい...)

1については、記載された処理をどのタイミングで実施させようとしているのかが関係するかもしれません。
native.showWebPopupを行うのは何らかのボタン押下時ですか?


2014年1月16日木曜日 21時36分08秒 UTC+9 yuuya:

yuuya

unread,
Jan 26, 2014, 7:18:23 AM1/26/14
to coro...@googlegroups.com
深水様

はじめまして。
お返事が遅くなり申し訳ありません。

>>system.openURL("mailto:メールアドレス")
上記の方法は思いつきもしませんでした。たしかにいけそうですね。
htmlファイルも作らなくてよくなるので、ちょっとした容量の節約にもなりそうです。

>>1については、記載された処理をどのタイミングで実施させようとしているのかが関係するかもしれません。
>>native.showWebPopupを行うのは何らかのボタン押下時ですか?
最初はstoryboardのenterScenen内の直下に記述していました。
その後、touchイベントに実装しましたが、どちらもダイアログが二回起動してしまいました。
そこで、native.newWebViewで実装し直したところ、なぜかダイアログの起動が
1回だけになりました。

ということで、この件は完了とさせていただきます。
原因が不明のままですので、もし今後原因がわかりましたら
あらためてこちらに記述しておきます。

以上です。ご協力ありがとうございました。

2014年1月26日日曜日 7時27分30秒 UTC+9 TakuroFUKAMIZU:
Reply all
Reply to author
Forward
0 new messages