2012-09-23 5 views
0

몇 가지 문제점이 있습니다. 메시지를 전송하고 싶습니다. 나는 보낼 context.sendBroadcast를 사용하여 브로드 캐스트 리시버는 - 내가BroadcastReceiver가 호출되지 않음

public class Fragment_1 extends Fragment{ 
    ....... 
    @Override 
      public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 

      View myFragmentView = inflater.inflate(R.layout.right_panel_1, null); 

      BroadcastReceiver log = new BroadcastReceiver() { 
       @Override 
       public void onReceive(Context context, Intent intent) 
       { 
        if(intent.getAction().equals("logGPS")) 
        { 
         myLog(intent.getStringExtra("Message")); 

        } 
       } 
      }; 

      return myFragmentView ; 

      } 
    } 

답변

1

당신은 같은 것을 할 필요가있다.

+0

registerReceiver (log, new IntentFilter ("logGPS")); onCreateView (조각)에 작동하지 않습니다. –

+0

http://stackoverflow.com/a/12242581/1568164 –

+0

http://stackoverflow.com/questions/4134203/how-to-use-registerreceiver-method – opaque

0

당신이 당신의 수신기를 등록한 다음과 같은 소스 코드를 사용하는 메시지를 수신하는 메시지

public class GPS_module implements LocationListener { 

private Context context; 

public GPS_module(Context ctx) { 
     context = ctx; 
     manager = (LocationManager) context 
       .getSystemService(Context.LOCATION_SERVICE); 

    } 
..... 

public void sendMessage(String str) { 
     Intent intent = new Intent("logGPS"); 
     intent.putExtra("Message",str); 
     context.sendBroadcast(intent); 
} 

} 

을받을 수? 나는 당신의 코드에서 이것을 보지 못했다. 당신은 등록하고 텐트 필터를 설정해야합니다 (이 연결을위한)

registerReceiver(myReceiver, 
      new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); 

:

+0

아니요, 등록되지 않았습니다. 시퀀스가 ​​없습니다. 그게 전부입니다 –

관련 문제