これが 5 か月前のものであることは承知していますが、今晩クライアントのために同様の作業を行っていて、あなたの質問に出くわしました。また、システム レベルのオンスクリーン キーボードや物理的な現実世界のキーボードの必要性を省略したいと考えていました。接続されたタッチ スクリーンを介してアプリの完全な制御下で Flash/AIR ベースのキーボードを使用したかっただけです。
これをすべて Flash/AIR で行うハックな方法を思いつきました。これは、任意の oAuth ダイアログで機能します (いくつかの注意事項があります)。今晩、Facebook と Twitter の oAuth パーミッション ページのテストとして機能するようになりました。oAuth ダイアログの表示に StageWebView を使用し、StageWebView の loadUrl メソッドを介して JavaScript を挿入する必要があります。stageWebView を使用して、StageWebView の oauth アクセス許可ページの読み込み時に Complete イベントのリスナーを設定することが最初のステップです。
次のステップは、ロードされて完全なイベントが発生したら、完全なハンドラーで、StageWebView 参照を介して JavaScript をページに直接挿入し、その関数を介して通信を設定し、画面上の AS3 からフィールドを動的に設定します。キーボードまたはその他の機能。たとえば、Twitter の oAuth 許可ページのユーザー名フィールドに入力するには、次のようにします。
webView.loadURL("javascript: form = document.forms[0]; form['username_or_email'].value='your_username';");
これにより、Twitter の oAuth 許可ページのユーザー名フィールドが入力されます。
そのため、関数をページに挿入し、それを ActionScript から呼び出して、仮想オンスクリーン キーボードからキーを押したり、完成した文字列を渡したりして、適切なフィールドに入力することができます。事前に oAuth ページのソース内のフォームとフィールド名を特定するのは、唯一の注意が必要な部分です。これまでのところ、Twitter と Facebook を識別するのは非常に簡単に見えますが、もちろん、いつでも壊れる可能性があります。正規表現を少し使用すると、それらが正しいことを確認するのに役立ちます。ここで見られる唯一の問題は、セキュリティ上の目的でフィールド名が動的に変更される場合ですが、少なくとも twitter と facebook を一目見ただけでは、そうは見えません。他の oAuth ページは、YMMV の場合とそうでない場合があります。
StageWebView を操作するための便利なライブラリがあり、この通信の一部を行うのに役立つ可能性があります。http://code.google.com/p/stagewebviewbridge/wiki/Communication をご覧ください。
いずれにせよ、これが全体的なアプローチであり、StageWebView を利用してから、独自の JavaScript 関数を動的に挿入して、オンスクリーン キーボードからフィールドへの値の受け渡しを処理するか、単純に上記のようなコードをフィールドに直接入力します。これが、似たようなことを試みている人に役立つことを願っています。
私が取り組んでいる展示でユーザーが直接これを行うことを許可する必要があるため、このアプローチを思いついたことを付け加えたいと思いますが、私の個人的な好みは、単にユーザーの電子メールアドレスまたは電話番号を収集することです. 、インタラクティブに電子メールまたは SMS メッセージを自分のデバイスに送信してもらい、より安全かつ確実に共有することができます。もう 1 つの解決策は、QR コードを表示することです。ユーザーはスナップして、より安全に共有することをすばやく解決できます。私はこれらのアプローチを好みますが、公共の場所で自分の資格情報を入力しようとするユーザーには上記の方法でうまくいきます。セッションにタイムアウトがあり、後続のユーザーのユーザー資格情報を適切にログアウトしていることを確認してください。そうしないと、悪いことが起こることが保証されます。