2012-03-20 110 views
0

我們正在開發通過SMS發送所需數據的Android應用程序。當網絡信號可用時,通過應用程序自動發送短信

我們可以通過應用程序發送短信,但問題出現在網絡不可用時。 它顯示短信失敗。

我們正在使用ACTION_SEND發送時,網絡信號不可用SMS(要避免) - 因爲它增加了按內部短信服務的發送按鈕的額外的步驟(要自動發送)

你能幫助生成代碼,將發送短信像內置的短信服務,即

  • 短信去,從那裏等待發件箱,並自動發送信號時可
+0

堆棧溢出是**不**代碼生成的網站,它是一個網站,詢問關於你的東西是問題**已**試圖實現與它的一部分不能正常工作。閱讀常見問題。 – JoxTraex 2012-03-20 07:51:11

回答

1

試試這個代碼發送短信

private void sendSMS(String phoneNumber, String message) 
{   
    Log.d("phoneNumber",phoneNumber); 
    Log.d("MEssage",message); 
    PendingIntent pi = PendingIntent.getActivity(CONTEXT, 0, 
     new Intent(CONTEXT,Object.class), 0);     
    SmsManager sms = SmsManager.getDefault(); 
    sms.sendTextMessage(phoneNumber, null, message, pi, null);   
} 
+0

試試這個短信將發送到短信,因爲短信失敗 – vipin 2012-03-20 07:14:30

0

當你沒有信號,啓動一個廣播接收器來檢查信號可用。它會自動向您的應用程序發送關於信號的消息。然後再次開始發送消息。

public class SampleBroadcastReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     if(intent.getAction() != null) 
     { 
      Toast.makeText(context, ""+intent.getAction(), Toast.LENGTH_LONG); 
      Log.d("onReceive","intent.getAction():::"+intent.getAction()); 

      if(intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION)) 
      { 
       ServiceState _state = new ServiceState(); 

      } 
     } 

    } 

}