2016-05-20 6 views
0

Es ist ein Fehler in meinem Code wie SmsManger.getDefault(); cannot be resolved FehlerSmsManger.getDefault(); kann nicht Fehler behoben werden

Button b2 = (Button)findViewById(R.id.btn1); 
      b2.setOnClickListener(new View.OnClickListener() {   
       @Override 
       public void onClick(View v) { 
        Log.i("Send Sms", null); 
        String phone="0899786592"; 
        String message="Rescue Me: /n I am at Lattitude- "+lat+" ,Long- "+lon; 
        SmsManager smsManager =new SmsManager.getDefault() 
//getting error in the above line i also tried without type casting.. works but the smsManager is getting an error 
        try{ 
         smsManager.sendTextMessage(phone,null,message, null, null); 
         Toast.makeText(getApplicationContext(),"Sms Sent", Toast.LENGTH_SHORT).show(); 
        }catch(Exception e){ 
         Toast.makeText(getApplicationContext(), "Sms not sent!", Toast.LENGTH_SHORT).show(); 
         e.printStackTrace(); 
        } 
       } 
      }); 
     } 
+3

'' getDefault ist 'static' Verfahren so müssen sie nicht durch das Objekt von' 'SmsManager Schaffung zuzugreifen einfach verwenden' SmsManager smsManager = SmsManager.getDefault() ' –

Antwort

0

Sie nicht SmsManager instanziieren kann, ist es ein Singleton ist und einen privaten Konstruktor hat. Deshalb erhalten Sie einen Fehler mit new SmsManager.getDefault().

Um eine Instanz zu erhalten, müssen Sie nur die statische Methode aufrufen: getDefault.

SmsManager smsManager = SmsManager.getDefault(); 
Verwandte Themen