2017-12-19 3 views
1

Android 애플리케이션에서 WiFi 연결 상태가 변경되었다는 알림을 받고 싶습니다. 나는 주로 의도의 정의를 이끌어내는 몇 가지 제안 (여기에 있음)을 발견했다. 나는이 방법을 사용하고 있습니다 :android.net.wifi.STATE_CHANGE 인 텐트 처리 (액티비티)

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_controller); 

    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); 
    registerReceiver(broadcastReceiver, intentFilter); 

    checkWiFi(); 
} 

public BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent != null) 
      checkWiFi(); 
    } 
}; 

작동하지만 내가 즉 매니페스트 (manifest) 중심의 접근 방식을 사용할 수 있는지 내 AndroidManifest.xml에 넣고 있는지 궁금 해요 :

<activity 
     android:name=".MainActivity" 
     android:screenOrientation="landscape"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.net.wifi.STATE_CHANGE" /> 
     </intent-filter> 
    </activity> 

내가 알려야 들어오는 의도의 권리? 내 활동에서 어떻게 처리 할 수 ​​있습니까?

당신은 클래스를 MyBroadcastReceiver extends BroadcastReceiver

을 만들어야합니다 감사합니다, 마이크

답변

0

및 즉

<receiver android:name=".MyBroadcastReceiver"> 
    <intent-filter> 
     <action android:name="android.net.wifi.STATE_CHANGE" /> 
    </intent-filter> 
</receiver> 
+0

매니페스트 다음 나는'자체 Activity'에 의해 의도를 처리 할 수 ​​없습니다. 제안한 접근 방식을 시도했지만 수신기에서 'ActivityButton'과 'Intents'를 사용하는 것 이외에 수신기에서 이벤트를 알리는 방법을 이해하지 못했습니다. – weirdgyn