-1

我尝试为 Blackberry 10 重新打包我的 Android 应用程序。它运行良好,但该应用程序无法发送短信。

我的安卓代码:

 private void sendSMS(String phoneNumber, String message)
    {

        String SENT = "SMS_SENT";
        String DELIVERED = "SMS_DELIVERED";

        PendingIntent sentPI = PendingIntent.getBroadcast(getBaseContext(), 0,
                new Intent(SENT), 0);

        PendingIntent deliveredPI = PendingIntent.getBroadcast(getBaseContext(), 0,
                new Intent(DELIVERED), 0);

        //---when the SMS has been sent---
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS sent",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                        Toast.makeText(getBaseContext(), "Generic failure",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE:
                        Toast.makeText(getBaseContext(), "No service",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext()
                                , "Null PDU",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext()
                                , "Radio off",
                                Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        }, new IntentFilter(SENT));

        //---when the SMS has been delivered---
       registerReceiver(new BroadcastReceiver() {
           @Override
           public void onReceive(Context arg0, Intent arg1) {
               switch (getResultCode()) {
                   case Activity.RESULT_OK:
                       Toast.makeText(getBaseContext(), "SMS delivered",
                               Toast.LENGTH_SHORT).show();
                       break;
                   case Activity.RESULT_CANCELED:
                       Toast.makeText(getBaseContext()
                               , "SMS not delivered",
                               Toast.LENGTH_SHORT).show();
                       break;
               }
           }
       }, new IntentFilter(DELIVERED));

        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
    }

显现 :

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

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

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

此代码在 android 中运行并能够发送到消息。但它不适用于黑莓。请任何人帮助我。先感谢您。

4

1 回答 1

0

ERROR_RADIO_OFF

这意味着收音机已关闭......所以如果它关闭,它应该如何发送消息?无线电需要与网络通信并发送消息。这意味着需要 SIM 卡才能发送相应的消息

如果收音机关闭

你应该弄清楚设备是否真的被激活..如果不是你不能发送消息,激活意味着与某些运营商网络相关联并且允许发送消息。

于 2015-08-31T06:35:03.187 回答