마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 문자를 인식하는 코딩관련 질문입니다.

0 추천
말 그대로 문자의 내용을 인식하는 앱을 만들고 싶습니다.
SMS_Receiver 와 BroadcastReceive 등등 이용해서 문자를 받게 되면 그 문자 내용과 수신자를 표시해주는 앱을 만드는 것에는 성공했습니다. 이 상태에서 문자가 왔을 때 문자 내용중에 특정 키워드가 있을 경우 실행되게 하고 싶습니다.
만드는 중에 시험해보고 싶어도 어떤 문자를 받든 죄다 실행되어버려서... 많이 어렵네요. 도와주세요!!!
자동실행 클래스
 
public class AutoRun extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();
        if(action.equals("android.provider.Telephony.SMS_RECEIVED")){
            Intent ii = new Intent(context, MainActivity.class);
            ii.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(ii);
        }

    }
}

문자받는 클래스
public class SimpleSmsReciever extends BroadcastReceiver {

    private static final String TAG = "Message recieved";

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle pudsBundle = intent.getExtras();
        Object[] pdus = (Object[]) pudsBundle.get("pdus");
        SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);
       // Log.i(TAG,  messages.getMessageBody());

        // Todo : Start Application's  MainActivty activity

        // Todo : Send Message And Number In Activity

        Intent smsIntent=new Intent(context,SMS_Receive.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        smsIntent.putExtra("MessageNumber", messages.getOriginatingAddress());
        smsIntent.putExtra("Message", messages.getMessageBody());
        context.startActivity(smsIntent);

        String action = intent.getAction();
        if(action.equals("%인식%)")) {
            Intent iii = new Intent(context, MainActivity.class);
            iii.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(iii);
            // Todo : Show Message In Toast
        }
        Toast.makeText(context, "SMS Received From :"+messages.getOriginatingAddress()+"\n"+ messages.getMessageBody(), Toast.LENGTH_LONG).show();
    }

}
여기서 '%인식%' 이런식으로 문자열을 인식하면 실행되도록 하고싶습니다.

 

익명사용자 님이 2018년 6월 3일 질문
2018년 6월 3일 수정
%는 디비에서 쓰는 것이구요
String 은 contains 를 사용하세요 % 빼구요

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...