Android 4.1'dan (Wi-Fi Direct hizmeti bulma altında), yerel UPnP hizmet keşfini desteklemesi gerekir.Android yerel UPnP hizmeti bulma
Wi-Fi Direct için geliştirilmiş olduğunu varsayalım, ancak mevcut yöntemler genel olarak görünüyor. Yöntemler için JavaDoc bile ağ üzerindeki tüm UPnP servislerini ve yalnızca WiFi Doğrudan slave/master'leri aramayı belirtmez.
Bununla birlikte, çalışabilmesi için onu uygulayamıyorum ... Tüm gereksinimleri ayarlamayı başarabilirim ve onSuccess
pozitif geri dönüşler alırım, ancak ağdaki hizmetleri bildiren hiçbir onUpnpServiceAvailable
geri bildirimi almıyorum. UPnP'de 3. parti kütüphanesi kullanarak keşfedebileceğim 3 hizmetim var.
Bu özelliği deneyen var mı?
final Channel mChannel;
final WifiP2pManager mManager;
WifiP2pServiceRequest mRequester;
mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
mChannel = mManager.initialize(this, getMainLooper(), new ChannelListener() {
public void onChannelDisconnected() {
Log.i("CI", "Channel detected!");
}
});
mManager.setUpnpServiceResponseListener(mChannel, new UpnpServiceResponseListener() {
public void onUpnpServiceAvailable(List<String> arg0, WifiP2pDevice arg1) {
Log.i("sd", "Found device!!");
}
});
mRequester = WifiP2pUpnpServiceRequest.newInstance();
mManager.addServiceRequest(mChannel, mRequester, new ActionListener() {
public void onSuccess() {
Log.i("d", "AddServiceRequest success!");
mManager.discoverServices(mChannel, new ActionListener() {
public void onSuccess() {
Log.i("d", "DiscoverServices success!");
}
public void onFailure(int reason) {
}
});
}
public void onFailure(int reason) {
}
});