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

문자 수신시 팝업을 나타낼려고 합니다.

0 추천
SMS 메시지 수신시에 broadcastreceiver을 사용하여 팝업을 나타낼려고 합니다.

구현할려는 기능이 어플이 종료되어있을 경우에 특정 문자를 보내면 팝업으로 띄우고

그 팝업창에 버튼으로 어플을 작동시킬려고 합니다.

 

broadcastreceiver 구현된 onReceive 부분에서 alertdialog를 해볼려고 하지만 자꾸 오류가 뜹니다.

구글링 해본 결과 따로 클래스를 만들어서 dialog를 구현하였지만 기본적인 mainactivity는 불러오질 못하더군요

문자 수신시 팝업창만 띄울수 있는 방법이 있나 궁금합니다.(카카오톡 메시지 팝업 처럼)
전상민 (240 포인트) 님이 2014년 9월 11일 질문

1개의 답변

0 추천
public class NotifySMSReceived extends Activity 
{
    private static final String LOG_TAG = "SMSReceiver";
    public static final int NOTIFICATION_ID_RECEIVED = 0x1221;
    static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        IntentFilter filter = new IntentFilter(ACTION);
        this.registerReceiver(mReceivedSMSReceiver, filter);
    }

    private void displayAlert()
    {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Are you sure you want to exit?").setCancelable(
            false).setPositiveButton("Yes",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            }).setNegativeButton("No",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });
        AlertDialog alert = builder.create();
        alert.show();
    }

    private final BroadcastReceiver mReceivedSMSReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            if (ACTION.equals(action)) 
            {
                //your SMS processing code
                displayAlert();
            }
        }
    }
}

 

 

doridori2013@nate.com

익명사용자 님이 2014년 9월 11일 답변
해보니 앱이 켜져있어야 팝업이 뜨네요 ㅠㅠ
...