6

私はアンドロイドAPIを通してサイレントSMSを検出する方法があるかどうかを理解しようとしています。また、キックのためだけに、デバイスから送信できますか?

4

4 に答える 4

3

サイレントSMSは、TP DCS(データコーディングスキーム)フィールドのビット4〜7を1100(メッセージ待機表示グループ:メッセージの破棄)に設定することにより、携帯電話事業者(または潜在的に侵入者)によって開始される場合があります-この記事を参照してくださいが、AFAIKこれはAndroidSDKには反映されていません。
クラス0はサイレントSMSとは関係ありません。
3GPP 23.038は、実際には「モバイルで終了したメッセージがクラス0であり、MSにショートメッセージを表示する機能がある場合、MSはメッセージをすぐに表示し、SCに確認応答を送信する」と述べています。

于 2013-12-30T16:27:51.163 に答える
2

さて、私はこれを理解したと思います。telephony.SmsMessageクラスにはgetMessageClass()というメソッドがあります。クラス0はサイレントSMSを示します。それらを送ることに関しては、それはまだ進行中の作業です

于 2012-07-13T13:42:38.093 に答える
0

アプリケーションをテストしている場合...

次に、SMS用のエミュレータツールを使用することをお勧めします。

Windowsマシンの場合-

  1. CMDに移動
  2. 「telnetlocalhost5554」と入力します(これが唯一のアクティブなエミュレーターであると想定します。さらにエミュレーターがある場合は、対応するポート番号を入力します)
  3. SMS機能を使用する(gsm通話などのオプションが他にもあります)

telnetセッションでhelpと入力することもできます。これにより、実行可能なすべてのことが一覧表示されます。

于 2013-12-30T16:36:21.420 に答える
0

Android SDKは、一般的なSMS受信ブロードキャストレシーバー機能のサブセットとして、データSMSをサポートしています。

<uses-permission android:name="android.permission.RECEIVE_SMS" ></uses-permission>

インテントフィルターを指定し、サイレントSMSのポートと一致する指定されたポートでリッスンする必要があります。

 <intent-filter android:priority="10" >
            <action android:name="android.intent.action.DATA_SMS_RECEIVED" />
            <data android:scheme="sms" />
            <data android:port="16001" />
        </intent-filter>

参照: https ://developer.android.com/reference/android/provider/Telephony.Sms.Intents#DATA_SMS_RECEIVED_ACTION

于 2021-11-19T09:41:05.170 に答える