如何从智能手表启动活动或服务

时间:2017-10-02 21:24:21

标签: java android wear-os

我尝试过使用wearablelistener服务,但它们似乎已被弃用。

这是我目前的代码:

public void lockdevice(View view) {
  Intent intent = new Intent();
  intent.setClass(this, MainActivity.class);
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  RemoteIntent.startRemoteActivity(this, intent,null);
}

它会创建一个例外:

Only android.intent.action.VIEW action is currently supported for starting a remote activity

但是View动作对我没什么帮助。还有其他方法吗?

2 个答案:

答案 0 :(得分:0)

WearableListenerService并未弃用。对于手持设备上的Service,仍然是从链接的可穿戴设备启动的推荐超类。在Service启动后,您可以根据需要轻松地从那里启动Activity

这里有详细记录:https://developer.android.com/training/wearables/data-layer/events.html

答案 1 :(得分:0)

我是通过以下方式实现的。在您的掌上电脑中AndroidManifest.xml

<intent-filter>
    <data android:scheme="appname" android:host="openfromwear" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

在您的 Wear 应用中:

val intentAndroid = Intent(Intent.ACTION_VIEW)
  .addCategory(Intent.CATEGORY_BROWSABLE)
  .setData(Uri.parse("appname://openfromwear"))
RemoteIntent.startRemoteActivity(context, intentAndroid, null)