SMS_Sending Blackberry 10 Android运行时?

时间:2015-08-31 06:29:48

标签: android broadcastreceiver blackberry-10 smsmanager android-runtime

我尝试重新打包我的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中工作并能够发送到消息。但它不适用于黑莓。请任何人帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

ERROR_RADIO_OFF

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

如果收音机关闭

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