0

メッセージを表示するアプリケーションに取り組んでいます。そのため、アクティビティ内で BroadcastReceiver を使用しており、onReceive メソッド内でリストビューを更新しようとしていますが、onReceive が呼び出されていません。

public class MessageActivity extends BaseActivity {


    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
          @Override
          public void onReceive(Context context, Intent intent) {
            // Extract data included in the Intent
            String message = intent.getStringExtra("message");
            Log.d("receiver", "Got message: " + message);
            Toast.makeText(getApplicationContext(), "Inside Reciver",Toast.LENGTH_SHORT).show();
            getSMSCursorCount();
            loadInitialMessages();
          }
        };
protected void onCreate(Bundle savedInstanceState) {

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.messageinbox);
}

    @Override
    public void onResume() {
        super.onResume();
        IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
        intentFilter.setPriority(1000);
        registerReceiver(mMessageReceiver, intentFilter);
            Log.d("This is onResume method ","<<<<<<<<< onResume <<<<<<<<<");
            try {
                getSMSCursorCount();
                loadInitialMessages();
            } catch (Exception e) {
                e.printStackTrace();
            }
    }

    @Override
    protected void onPause()
    {
        super.onPause();
        try {
            unregisterReceiver(mMessageReceiver);
        } catch (IllegalArgumentException e) {
            if (e.getMessage().contains("Receiver not registered")) {
                // Ignore this exception. This is exactly what is desired
                Log.w(TAG,"Tried to unregister the reciver when it's not registered");
            } else {
                // unexpected, re-throw
                throw e;
            }
        }
         Log.d("This is onPause method ","<<<<<<<<< onPause <<<<<<<<<");
    }
4

1 に答える 1