2

キーボードのデータを「タイプ」に送信する意図はありますか?

これは実用的というよりは理論的なものですが、キーボードで受信したインテントをブロードキャストすることは可能ですか。インテントには、アクティブな入力フィールドに「入力」される文字列が含まれます。別の方法として、インテントにターゲット フィールドを含めることもできます。これをキーボードで使用して、ビュー内の正しいフィールドを選択するか、データが間違ったフィールドに出力されるのを防ぐことができます。

なんで?

これは、データ収集アプリケーションに役立つ可能性があると考えています。

例 1: Bluetooth スケール

体重を追跡するためのアプリケーションがあるとします。毎朝アプリを起動し、体重を量り、体重を入力します。体重計が電話のアプリケーションに依存しないサービスとペアになっている場合は、体重フィールドを選択して体重計にステップアップするだけです. 値は携帯電話に送信され、このインテントを使用してデフォルトのキーボードに渡されます。

例 2: NFC ID タグ

サービス フォーム アプリケーションには、16 桁のマシン シリアル番号が必要です。マシンには、シリアル番号を含む NFC タグがあります。手動で入力する代わりに、NFC 読み取りインテントは、インテントを介してデフォルトのキーボードに値を渡すサービスによってキャッチされます。

批判:

  1. アプリはスケールと直接統合できます/統合する必要があります。
    反論: Web アプリでは機能せず、特定のソリューション (Bluetooth デバイスなど) をサポートする (およびサポートを維持する) アプリに依存しています。
  2. 入力フィールドを、結果のインテントを起動するボタンに置​​き換えます。
    反論:上記と同じですが、さらにユーザーの操作が必要です。クリック数と時間はプレミアム商品です。

それが存在しない場合、キーボードがそのようなインテントレシーバーを実装するのは最悪の考えでしょうか? それとも、悪いアプリケーション設計への扉を開くだけでしょうか? セキュリティ的に?

4

1 に答える 1

0

キーボードのデータを「タイプ」に送信する意図はありますか?

幸いなことに、明らかなセキュリティ上の理由から、いいえ。非常に限られた状況 (JUnit テスト アプリなど) 以外では、あるアプリが別のアプリに入力を強制することはできません。

アプリはスケールと直接統合できます/統合する必要があります。

正しい。

ウェブアプリでは動作しません

次に、ネイティブ アプリを作成します。

特定のソリューション (Bluetooth デバイスなど) をサポートする (およびサポートを維持する) アプリに依存している

任意の Bluetooth を話して、任意のネイティブ アプリまたは Web アプリの任意のテキスト フィールドに適した入力を取得することは不可能であるため、とにかくそれが必要です。そうしないと、提案されたソフト キーボードが Bluetooth ヘッドセットからデータを取得して Twitter に入力しようとし、音楽が 140 文字を超える可能性があります。

キーボードがそのようなインテントレシーバーを実装するのは最悪の考えでしょうか?

それはあなたの「最悪」の定義に依存します。このようなインプット メソッド エディタの実装者には、このようなギャップのあるセキュリティ ホールから生じる避けられない訴訟に対して、非常に大きな法的防御資金があることを願っています。

于 2012-12-09T21:08:08.543 に答える