Почему в одном случае код работает без каких либо проблем а в другом не хочет срабатывать?
Есть приложение которое должно выполнять какие то действия на подключенных часах к телефону.
Рабочий код
Открывает ссылку в браузере на часах
private void launchPlayStoreOnWear() {
new Thread(()->{
Looper.prepare();
if (getConnectedNode() != null) {
RemoteActivityHelper remoteActivityHelper = new RemoteActivityHelper(this, Executors.newSingleThreadExecutor());
remoteActivityHelper.startRemoteActivity(
new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("http://test.wear-store.ru/cube.apk"))
.addCategory(Intent.CATEGORY_BROWSABLE)
);
Toast.makeText(this, "Please check your watch", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "No watch is connected", Toast.LENGTH_LONG).show();
}
}).start();
}
Не срабатывает на часах
Поделится ссылкой
private void launchPlayStoreOnWear() {
new Thread(()->{
Looper.prepare();
if (getConnectedNode() != null) {
RemoteActivityHelper remoteActivityHelper = new RemoteActivityHelper(this, Executors.newSingleThreadExecutor());
remoteActivityHelper.startRemoteActivity(
new Intent(Intent.ACTION_SEND)
.setData(Uri.parse("http://test.wear-store.ru/cube.apk"))
);
Toast.makeText(this, "Please check your watch", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "No watch is connected", Toast.LENGTH_LONG).show();
}
}).start();
}
Объясните мне не доходяге, почему один код работает а другой не в какую не хочет выполнятся и как заставить его работать?
private Node getConnectedNode() {
Node returnNode = null;
Task<List<Node>> wearableList = Wearable.getNodeClient(this).getConnectedNodes();
try {
List<Node> nodes = Tasks.await(wearableList);
for (Node node : nodes) {
if (node.isNearby()) {
returnNode = node;
}
}
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}
return returnNode;
}