2015-12-01 2 views
0

Я пытаюсь использовать WiFi p2p в андроид, я пытаюсь с помощью этого андроида proyect: wifiDirectDemo, но когда я запускаю приложение Android показать мне это сообщение:каналы WiFi p2p

К сожалению, ком. example.ferch.chupipandiparty остановил

я отладка, проблема начинается, когда код прибывает в линию, где я создаю канал в деятельности:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.conexion_p2p); 

    intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); 
    intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION); 
    intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION); 
    intentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION); 
    manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); 
    channel = manager.initialize(this, getMainLooper(), null); 

} 

приложение бросить исключение в классе Parcel.java:

public final void writeException(Exception e) { 
    int code = 0; 
    if (e instanceof SecurityException) { 
     code = EX_SECURITY; 
    } else if (e instanceof BadParcelableException) { 
     code = EX_BAD_PARCELABLE; 
    } else if (e instanceof IllegalArgumentException) { 
     code = EX_ILLEGAL_ARGUMENT; 
    } else if (e instanceof NullPointerException) { 
     code = EX_NULL_POINTER; 
    } else if (e instanceof IllegalStateException) { 
     code = EX_ILLEGAL_STATE; 
    } else if (e instanceof NetworkOnMainThreadException) { 
     code = EX_NETWORK_MAIN_THREAD; 
    } else if (e instanceof UnsupportedOperationException) { 
     code = EX_UNSUPPORTED_OPERATION; 
    } 
    writeInt(code); 
    StrictMode.clearGatheredViolations(); 
    if (code == 0) { 
     if (e instanceof RuntimeException) { 
      throw (RuntimeException) e; 
     } 
     throw new RuntimeException(e); 
    } 
    writeString(e.getMessage()); 
} 

Я поставил это разрешение в Manifest.xml:

<uses-permission 
     android:name="android.permission.ACCESS_WIFI_STATE" 
     android:required="true" /> 
    <uses-permission 
     android:name="android.permission.CHANGE_WIFI_STATE" 
     android:required="true" /> 
    <uses-permission 
     android:name="android.permission.INTERNET" 
     android:required="true" /> 

журнал кошка:

12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty D/AndroidRuntime: Shutting down VM 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime: FATAL EXCEPTION: main 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime: Process: com.example.ferch.chupipadiparty, PID: 21442 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ferch.chupipadiparty/com.example.ferch.chupipadiparty.conexionP2P}: java.lang.SecurityException: WifiP2pService: Neither user 10115 nor current process has android.permission.ACCESS_WIFI_STATE. 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2358) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.access$900(ActivityThread.java:154) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:135) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5294) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:372) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime: Caused by: java.lang.SecurityException: WifiP2pService: Neither user 10115 nor current process has android.permission.ACCESS_WIFI_STATE. 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Parcel.readException(Parcel.java:1546) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Parcel.readException(Parcel.java:1499) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.net.wifi.p2p.IWifiP2pManager$Stub$Proxy.getMessenger(IWifiP2pManager.java:113) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.net.wifi.p2p.WifiP2pManager.getMessenger(WifiP2pManager.java:1379) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.net.wifi.p2p.WifiP2pManager.initialize(WifiP2pManager.java:886) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at com.example.ferch.chupipadiparty.conexionP2P.onCreate(conexionP2P.java:49) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.Activity.performCreate(Activity.java:5990) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311) 
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.access$900(ActivityThread.java:154)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:135)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5294)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Method.java:372)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)  
12-01 20:50:33.943 21442-21442/com.example.ferch.chupipadiparty E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)  

I я делаю код google wifiDirect как

ответ

1

Кажется, проблема разрешения. Ваше состояние StackTrace это ясно:

Ни пользователь, ни 10115 текущий процесс имеет android.permission.ACCESS_WIFI_STATE

2

Если бы это раньше брошена ошибка, чтобы быть уверенным,

ContextCompat.checkSelfPermission (thisActivity, Manifest.permission.ACCESS_WIFI_STATE)

Смежные вопросы