我试图在Android中实现wifi直接的谷歌示例代码,但它给了我一个例外

问题描述 投票:1回答:1

给予here的demowifi项目。

但是当我尝试实现它时,我得到了这个错误 -

FATAL EXCEPTION: main
                                                                         Process: microsoft.demo_wifidirect, PID: 3540
                                                                         java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.p2p.CONNECTION_STATE_CHANGE flg=0x24000010 (has extras) } in microsoft.demo_wifidirect.WiFiDirectBroadcastReceiver@41bad428
                                                                             at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:782)
                                                                             at android.os.Handler.handleCallback(Handler.java:733)
                                                                             at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                             at android.os.Looper.loop(Looper.java:146)
                                                                             at android.app.ActivityThread.main(ActivityThread.java:5641)
                                                                             at java.lang.reflect.Method.invokeNative(Native Method)
                                                                             at java.lang.reflect.Method.invoke(Method.java:515)
                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1288)
                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1104)
                                                                             at dalvik.system.NativeStart.main(Native Method)
                                                                          Caused by: java.lang.ClassCastException: microsoft.demo_wifidirect.DeviceListFragment cannot be cast to microsoft.demo_wifidirect.DeviceDetailFragment
                                                                             at microsoft.demo_wifidirect.WiFiDirectActivity.resetData(WiFiDirectActivity.java:101)
                                                                             at microsoft.demo_wifidirect.WiFiDirectBroadcastReceiver.onReceive(WiFiDirectBroadcastReceiver.java:101)
                                                                             at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:772)
                                                                             at android.os.Handler.handleCallback(Handler.java:733) 
                                                                             at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                             at android.os.Looper.loop(Looper.java:146) 
                                                                             at android.app.ActivityThread.main(ActivityThread.java:5641) 
                                                                             at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at java.lang.reflect.Method.invoke(Method.java:515) 

请帮我理解出了什么问题,因为我对android很新。

android wifi-direct wifip2p
1个回答
0
投票

对于遇到此问题的其他任何人,抛出此强制转换异常是因为我将两个片段类列为“DeviceDetailFragment”:)当我更正它并确保一个用于DeviceDetailFragment而另一个用于DeviceDetailFragment时,如下所示,它工作正常精细。

https://github.com/hiteshbpatel/Android_Blog_Projects/blob/master/WiFiShareFilesExampleAndroid/app/src/main/res/layout/activity_main.xml

此外,Hitesh Patel在GitHub上整合了这项技术的快速工作版本的道具:https://github.com/hiteshbpatel

<LinearLayout
    android:layout_width="match_parent"
    android:id="@+id/linearLayout"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:layout_alignParentTop="true"
    android:layout_weight="0.9">
    <fragment
        class="com.example.shriyanshu.wifisharefilesexampleandroid.DeviceListFragment"
        android:id="@+id/fragment_list"
        android:layout_width="match_parent"
        android:layout_height="@dimen/phone_list_height"
        tools:layout="@layout/device_list">
    </fragment>

    <fragment
        class="com.example.shriyanshu.wifisharefilesexampleandroid.DeviceDetailFragment"
        android:id="@+id/fragment_detail"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout="@layout/device_detail">
    </fragment>
</LinearLayout>
© www.soinside.com 2019 - 2024. All rights reserved.