나는 안드로이드에 대한 작업 인 Raspberry pi3와 Android 모바일간에 통신하기 위해 Google의 주변 API를 사용해야하는 프로젝트를 진행 중입니다. 나는 라즈베리 파이어 3에 대한 광고 서비스와 모바일 검색 서비스를 성공적으로 시작했습니다. 하지만 내 모바일에서 Raspberry pi3을 발견 할 수는 없습니다.근처 api를 사용하여 라즈베리 파이를 찾을 수 없습니다
private void startAdvertizing() {
logging("advertizing initiated");
Nearby.Connections.startAdvertising(mCLient,"Tinku",getString(R.string.service_id),mConnectionLifecycleCallback
,new AdvertisingOptions(Strategy.P2P_CLUSTER)).setResultCallback(new ResultCallback<Connections.StartAdvertisingResult>() {
@Override
public void onResult(@NonNull Connections.StartAdvertisingResult startAdvertisingResult) {
if (startAdvertisingResult.getStatus().isSuccess()){
logging("avertizind success");
} else {
logging(startAdvertisingResult.getStatus().getStatusMessage());
}
}
});
}
모바일 쪽 에 :
private void startDicovery() {
Log.d(TAG,"Initializing discovery");
tv.setText("Initializing discovery");
EndpointDiscoveryCallback mEndPointDiscoveryCallback = new EndpointDiscoveryCallback() {
@Override
public void onEndpointFound(String s, DiscoveredEndpointInfo discoveredEndpointInfo) {
Log.d(TAG,"Endpoint found");
tv.setText("Endpoint found");
}
@Override
public void onEndpointLost(String s) {
Log.d(TAG,"Endpoint Lost, "+s);
tv.setText("Endpoint Lost, "+s);
}
};
Nearby.Connections.startDiscovery(mCLient,getString(R.string.service_id),mEndPointDiscoveryCallback,new DiscoveryOptions(Strategy.P2P_CLUSTER))
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
if (status.isSuccess()){
logging("Discovert success");
isDiscovery = true;
} else {
logging("Discovery failed "+ status.getStatusMessage());
isDiscovery = false;
}
}
});
}
내가 놓친 거지 모르겠어요 여기 라즈베리 PI3에 내 코드 -
입니다. 어떤 도움을 주시면 감사하겠습니다.
특정 서비스 ID를 검색했을 때 작동했지만 프로젝트에 충분했습니다. 고맙습니다 –