【问题标题】:jmdns.jar not working on android 4.0 or laterjmdns.jar 不适用于 android 4.0 或更高版本
【发布时间】:2013-07-10 06:37:02
【问题描述】:

jMdns 是一个出色的 Java 库,可为您的 Android 应用程序提供zeroconf/bonjour 功能。

直到Android 4.0 Ice Cream Sandwich aka ICS,我在一个项目中成功使用了它,一旦开始更频繁地使用 Android 4.0 设备,我就会面临应用程序无法正常工作的问题。

我之前在 android 4.0 中测试过应用程序,它显示了 Discover Devices 列表,但在 android 4.0 或更高版本中它什么也没显示。

我在 4.1 上测试了这个演示“https://github.com/twitwi/AndroidDnssdDemo”,但它不起作用。

我根据"http://snctln.com/2012/08/03/jmdns-and-android-4-0/" 中提到的建议编写了下面的代码

private android.net.wifi.WifiManager.MulticastLock lock;
private android.os.Handler handler = new android.os.Handler();
private JmDNS jmdns = null;
public  WifiManager wifi; 


private void setUp() 
    {
        
        WifiManager wifiMgr = (WifiManager) getSystemService(WIFI_SERVICE);
        WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
        int ip = wifiInfo.getIpAddress();
        String ipAddress = Formatter.formatIpAddress(ip);

        
         
        
        try {
            
            
            jmdns.create(_bindingAddress);
            ServiceInfo[] infos = jmdns.list("_afpovertcp._tcp.local.");
            for (int i=0; i < infos.length; i++) {
                 Log.i("Servic : ",infos[i].getName()+"");
//               notifyUser("\nServic : "+infos[i].getName()+"");
                
            }
            


        } catch (IOException e) {
            e.printStackTrace();
        }
    
        
    }  

你的建议很重要

【问题讨论】:

    标签: android service bonjour zeroconf jmdns


    【解决方案1】:

    我的简单猜测是它试图在主线程上下载数据。这在Ice Cream Sandwich 和转发中是不可能的。尝试在手机上运行 logcat 时查看它,如果是这种情况,它应该清楚地显示有关它的警告/错误消息。

    【讨论】:

      【解决方案2】:

      你可以让它通过主线程ala运行

              if (android.os.Build.VERSION.SDK_INT > 9) {
              StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
              StrictMode.setThreadPolicy(policy);
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-08
        • 1970-01-01
        • 1970-01-01
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多