android - Android向けのsendDataMessage()の動作例

android sms

私はandroid.telephony.SmsManagerのsendDataMessage()を使用して、私が遭遇する可能性のあるほとんどすべてのサンプルを使用して試してみました。

[コードを確認したい場合は、mobiForgeの[Sms androidの送信]リンクを確認してください。最も人気のあるもの(および私が使用したもの)だと思います。]

Thisは、この質問に関する例の1つです。

次のサンプルに示す標準レシーバーを使用すると、ブロードキャストレシーバーが実際にアクティブになり、メッセージを含むトーストを表示できるため、レシーバーが正常に動作していることがわかります。 [ところで、私はSmsManager.sendTextMessage()を呼び出しています。これは問題なく機能しているため、問題はありません]。

<receiver android:name=".SMSReceiver"> 
            <intent-filter> 
                <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
            </intent-filter>
</receiver>


ただし、次のレシーバーを使用すると、トーストを取得できません。つまり、レシーバーがアクティブ化されていないため、トーストがありません。

<receiver android:name=".SMSReceiver"> 
            <intent-filter> 
                <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
                <data android:port="8901"/>
                <data android:scheme="sms"/>
            </intent-filter> 
</receiver>


ここで私の質問はなぜですか?
sendDataMessage()のポート番号が正しくないと考える人がいる場合は、8901が短い値であることを保証します。

したがって、私はこれに対する解決策を誰かに要求して、解決策を説明するか、実用的な例を提供したいと思います。

事前に助けてくれる人に感謝します!

宜しくお願いします、
シッダント
答え
さて私は私のコードで問題を見つけたようです。

修正は、上記のレシーバーのandroid:name値をandroid.provider.Telephony.SMS_RECEIVEDからandroid.intent.action.DATA_SMS_RECEIVEDに変更することでした。

したがって、新しいレシーバーは次のようになります。

<receiver android:name=".SMSReceiver">  
            <intent-filter>  
                <action android:name="android.intent.action.DATA_SMS_RECEIVED" />  
                <data android:port="8901"/> 
                <data android:scheme="sms"/> 
            </intent-filter>  
</receiver>


KRVarma SMSDemoのおかげで、コードを理解した後、非常に役立つ洞察が得られました。
関連記事

android - AndroidでTabLayoutを使用しているときにすべてのアクティビティを更新するにはどうすればよいですか?

android - 多数のテキスト行とスタイルを持つEditTextで2Dスクロールを有効にします

android - レイアウトが明示的に宣言されていない場合、アクティビティのデフォルトのレイアウトは何ですか?

android - AndEngine Androidでスプライトを落とす方法

android - Android ADTインストールのトラブルシューティング

java - 高度なAndroid UIを作成する方法は? [閉まっている]

android - このウィジェットの名前は何ですか?また、アプリでどのように使用できますか?

android - Android:タブバーアイテムがクリックされるたびにビューを更新するにはどうすればよいですか?

java - onCreateでLayoutParamsを設定できません

android - モンキーランナーを使用した検証