2014-04-01 2 views
0

이 코드를 사용하여 SMS 메시지를 수신합니다. 전화가 SMS 메시지를 받으면이 스크립트가 중지되었다는 메시지가 나타납니다. 아무도 도와 줄 수 있습니까?안드로이드에서 SMS 메시지 받기 - 스크립트가 안타깝게도 중지되었습니다

ReceivesmsActivity.java

 public class ReceivesmsActivity extends Activity { 
public TextView info; 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_receivesms); 
      info = (TextView) findViewById(R.id.info); 
      info.setText("Good"); 
      } 
public class Receivesms extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    try{ 
    Bundle pudsBundle = intent.getExtras(); 
    Object[] pdus = (Object[]) pudsBundle.get("pdus"); 
    SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]); 
    info.setText(messages.getMessageBody()); 
    }catch(Exception e){ 
    Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show(); 
    } 
} 

그리고이 SMS 메시지를 수신 내 매니페스트 파일 : 다음 코드에 의해

 <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
     <receiver android:name=".ReceivesmsActivity"> 
     <intent-filter> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
     </receiver> 
+0

당신이 로그 캣 plz ... – Sree

+0

응용 프로그램이 SMS를 수신 할 때 백그라운드 나 포 그라운드 상태일까요? – Kedarnath

+0

은 활동 중에 선언 된 브로드 캐스트 리시버 클래스입니까? 그런데 중괄호를 올바르게 넣으십시오. – mangusta

답변

0

내가 당신에게 alaternate 방법을 제안을

public class ReceivesmsActivity extends Activity 
{ 
     private static TextView info; 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_receivesms); 
      info = (TextView) findViewById(R.id.info); 
      info.setText("Good"); 
     } 


     public void setInfoText (String str) 
     { 
      info.setText (str); 
     } 
} 

public class Receivesms extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     try 
     { 
      Bundle pudsBundle = intent.getExtras(); 
      Object[] pdus = (Object[]) pudsBundle.get("pdus"); 
      SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]); 
      //info.setText(messages.getMessageBody()); 
      ReceivesmsActivity.setInfoText (messages.getMessageBody().toString()); 
     } 
     catch(Exception e) 
     { 
      Toast.makeText(context,e.toString(),Toast.LENGTH_LONG).show(); 
     } 
    } 
} 
관련 문제