Android デバイスの 2 番目のスロットを介して SMS を送信する必要があります。2番目のSIMスロットでSMSを送信するための解決策を見つけるために何度も検索しました. しかし、この問題に対する通常の解決策はありません。2 番目のスロットから SMS を送信するために、各シリーズのモバイル デバイスにリフレクションを使用する人もいます。では、この問題にリフレクションを使用するにはどうすればよいでしょうか。
1 に答える
ターゲットにしている Cookie については言及していませんが、Lollipop MR1 では、サブスクリプションに基づいて SmsManager をフェッチすることにより、2 番目の SIM カードで送信できます。
すべての SIM カードには、挿入時にサブスクリプション ID が割り当てられます。これらの ID と SIM に関する情報は、TelephonyProvider の siminfo テーブルに格納されます。ID は 1 から始まります。現在アクティブなサブスクリプション ID に関する情報を取得するには、SubscriptionManager を使用します: http://developer.android.com/reference/android/telephony/SubscriptionManager.html
このメソッドgetActiveSubscriptionInfoForSimSlotIndex
は、SIM スロット インデックス (通常は 0 または 1) を受け取り、適切な SmsManager を取得するために使用できるサブスクリプション ID を含む、その SIM に関するサブスクリプション情報を返します。
Lollipop より前のプラットフォームをターゲットにしている場合、DS サポートは Google によって公式にサポートされておらず、プラットフォーム ベンダー (Qualcomm、Mediatek など) によって追加されている可能性が高いため、API は文書化されていません。を呼び出して SmsManager のメソッドを照会できますSmsManager.class.getDeclaredMethods()
が、DS API はまったく別の文書化されていないクラスにある可能性があります。