2016-12-28 2 views
0

私はGoogleのWIFIDirectデモを手紙に従ってきましたが、discoverPeers()を呼び出すacitionBarボタンをクリックすると、「WifiDirectが有効になっていません」というメッセージが表示されます。これは、以下のonReceiveスニペット時broadcastReceiverによって確認されていますブール値に関連付けられています。だから、自然にAndroid/BroadcastReceiverはWifi P2Pが有効になっているかどうかをどのように判断しますか?

if(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)){ 

    //Update UI to show WifiP2p status 
    int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE,-1); 

    if(state == WifiP2pManager.WIFI_P2P_STATE_ENABLED){ 
     //Wifi Direct Enabled 
     //we keep the WifiP2pEnabled boolean within the activity, 
     //So it wont change, and can be followed 
     activity.setIsWifiP2pEnabled(true); 
    }else{ 
     activity.setIsWifiP2pEnabled(false); 
     activity.resetData(); 
    } 
    Log.d(WIFIDirectActivity.TAG,"P2P state changed" +state); 

それは私のLGのG3に私WIFI_P2P_STATE_ENABLEDを読んでいないが、市場にそれ他のWifiDirectのアプリが動作するように見えますか?ブール値を手動でtrueに設定しました。この場合、問題なく動作し、ピアに検出/接続されます。

実際に私のアンドロイドバージョン(4.4.2)が問題になることはありますか?

は推測と私も万回を忘れてしまった何かをもとに、あなたに

+0

正しいインテントフィルタとアクションで受信機をセットアップしましたか? –

+0

あなたは金を打った。私は受信機に1つを残しました。あなたに感謝と幸せな新年! –

+0

これは良いことです。私は受信機を使って作業を始めたときもこれをかなり忘れていました。良い年もあります:) –

答えて

1

ありがとうございます。ここでの問題は、マニフェストへの不完全な追加です。

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <receiver android:name="MyReceiver"> 

     <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"> 
      <!-- BOOT_COMPLETED can be any action you might want to receive --> 
     </action> 
     </intent-filter> 

    </receiver> 
</application> 

上記はどのように表示されるかの例をご覧ください。

関連する問題