j2me アプリケーションを介して SMS を送信すると、メッセージが送信される前に、インターネットを使用してメッセージを送信できますかという質問が表示されます。この質問を終了して表示されないようにすることはできますか?
3 に答える
これは、HTTP & SMS API にアクセスしているために発生しています。このような API を使用するには、Java ME アプリケーションに署名する必要があります。Java ME アプリケーションに署名するには、料金を支払って VeriSign または Thawte サイトから署名証明書を購入する必要があります。
VeriSign の証明書の場合、証明書ごとに 20K かかります。
プロンプトをスキップできると思いますが、アプリケーションに署名する必要があります。ただし、アプリケーションが署名されている場合でも、一部のデバイスではプロンプトが 1 回表示されます。これは、通常 (または常に) セッションで Wireless Messaging API を最初に使用したときに発生します。これは、この API へのアクセスが「初めて聞く」などに設定されているために発生します。
アプリが署名されている場合は、ワイヤレス ネットワーク設定へのアクセスを手動で (たとえば) [常に許可] に設定できます。このように設定すると、プロンプトは表示されません。
署名されていないアプリの場合、[常に許可する] オプションは使用できません。ただし、ほとんどのデバイスでは、次に最適なオプションである「最初に確認する」を使用できます。
悪い点は、手動で設定することです。ただし、良いことは、「初めて聞く」に設定するためだけにそれほど多くのお金を費やすことはないということです. :D
プラットフォーム設計による J2ME には、アプリケーションのユーザーが安全な API を使用しようとするたびに「はい」または「いいえ」の選択を求められるという欠点があります。一部のデバイスは、エンド ユーザーが先に進むべきか、そこで停止するべきかを考えさせるような方法でこのアラートを出します。アプリケーションにデジタル署名することで、デバイスの KVM 実装と使用中の安全な API の数に応じたレベルにアラートを減らすことができます。
Symbian OS Feature Pack 1 を搭載した一部のデバイスでは、コードが署名されていてもプロンプトが続行されます。J2ME のこの動作により、アプリケーションは開発者にとって使いにくく、ユーザーにとって使いにくいものになります。これは、SUN が採用した戦略とモデルが間違っていると思います。Verified by Java と呼ばれるものがあります。証明書を使用してアプリケーションに署名を付けることができます。これにより、アプリケーションはエンド ユーザー デバイスでプロンプトなしでシームレスに動作しますが、残念ながら、その認証を取得するプロセスは高価であり、実用的ではありません。J2ME プラットフォームの唯一の利点は、エンド ユーザーのデバイスでウイルスやマルウェア コードが実行される可能性が低くなることです。セキュリティとユーザーの使いやすさのトレードオフがうまく機能していないと思います。これが、J2ME であまり優れたアプリケーションが見られない理由です。
対照的に、たとえば Android では、ユーザーはアプリをインストールする前にすべてのアクセス許可を確認できるため、これらの安全な API が使用されている場合、ユーザーは実行時に煩わされることはありません。これが、J2ME ではなく J2ME にある何百万ものアプリを目にする理由です。このアプローチは、最終的な Android ユーザー デバイスに多くのマルウェア タイプのアプリケーションをもたらしたと常に言えます。