在Android Wear中单击按钮

开发者

我已经创建了一个带有小按钮的Android Wear活动(我的移动应用中活动的快捷方式)。是否可以向我的主应用发送捆绑请求?

如果是这样,如何实现点击监听器?

谢谢!

MaciejCiemięga

这可以使用提到的MessageApi完成:http : //developer.android.com/training/wearables/data-layer/messages.html
您需要初始化并与GoogleApiClient连接。单击按钮后,您必须获取节点列表并向其发送消息。最后一步是从应用程序的手机部分读取此消息,这可以通过注册适当的WearableListenerService来完成。请参阅下面的示例代码。

应用程序的可穿戴部分:
在应用程序的可穿戴部分中定义此类活动:

public class WearableButtonActivity extends Activity {

    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wearable_button_activity);

        mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addApi(Wearable.API)
            .build();
        mGoogleApiClient.connect();
    }

    public void onButtonClicked(View target) {
        if (mGoogleApiClient == null)
            return;

        final PendingResult<NodeApi.GetConnectedNodesResult> nodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient);
        nodes.setResultCallback(new ResultCallback<NodeApi.GetConnectedNodesResult>() {
            @Override
            public void onResult(NodeApi.GetConnectedNodesResult result) {
                final List<Node> nodes = result.getNodes();
                if (nodes != null) {
                    for (int i=0; i<nodes.size(); i++) {
                        final Node node = nodes.get(i);

                        // You can just send a message
                        Wearable.MessageApi.sendMessage(mGoogleApiClient, node.getId(), "/MESSAGE", null);

                        // or you may want to also check check for a result:
                        // final PendingResult<SendMessageResult> pendingSendMessageResult = Wearable.MessageApi.sendMessage(mGoogleApiClient, node.getId(), "/MESSAGE", null);
                        // pendingSendMessageResult.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
                        //      public void onResult(SendMessageResult sendMessageResult) {
                        //          if (sendMessageResult.getStatus().getStatusCode()==WearableStatusCodes.SUCCESS) {
                        //              // do something is successed
                        //          }
                        //      }
                        // });
                    }
                }
            }
        });
    }
}

并在您的res / layout / wearable_button_activity.xml文件中将onButtonClick方法攻击到您的按钮:

<Button android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me!"
    android:layout_gravity="center"
    android:onClick="onButtonClicked" />

或者,如果您喜欢的话,也可以通过代码设置OnClickListener:

    findViewById(R.id.button).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            onButtonClicked(v);
        }
    });

应用程序的电话部分:
然后在电话清单上声明DataLayerListenerService:

<service android:name=".DataLayerListenerService" >
    <intent-filter>
        <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
    </intent-filter>
</service>

DataLayerListenerService类:

public class DataLayerListenerService extends WearableListenerService {

    @Override
    public void onMessageReceived(MessageEvent messageEvent) {
        super.onMessageReceived(messageEvent);
        if("/MESSAGE".equals(messageEvent.getPath())) {
            // launch some Activity or do anything you like
        }
    }
}



重要说明:应用程序的两个部分都需要具有相同的程序包名称才能相互联系。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在Android中单击按钮

来自分类Dev

单击按钮从Android中的EditText获取文本

来自分类Dev

在Android中动态创建表(单击按钮)

来自分类Dev

以编程方式单击Android中的单选按钮?

来自分类Dev

片段中的Android按钮单击方法(崩溃)

来自分类Dev

在Android中动态创建表(单击按钮)

来自分类Dev

单击按钮停止在Android中运行

来自分类Dev

片段中的Android按钮单击方法(崩溃)

来自分类Dev

在Android中单击按钮时出现NullPointerException

来自分类Dev

在Android中单击按钮显示/隐藏片段

来自分类Dev

Android Wear中的通知

来自分类Dev

Android Wear:点击Wear中的通知操作按钮,在掌上电脑中启动一项活动

来自分类Dev

Android Wear:点击Wear中的通知操作按钮,在掌上电脑中启动一项活动

来自分类Dev

使用指向单个方法的按钮来区分单击了android按钮数组中的哪个android按钮

来自分类Dev

带有onClickListeners的xml中的Android按钮,必须再次单击该按钮才能单击

来自分类Dev

如何在Android中为单击的图像按钮制作边框?

来自分类Dev

延迟5秒后如何自动在Android中单击按钮

来自分类Dev

如何避免在Android中同时单击多个按钮?

来自分类Dev

如何通过单击简单按钮在android中显示日历

来自分类Dev

在Android中通过动态单击按钮添加微调器

来自分类Dev

在android中单击按钮打开新的课程/活动

来自分类Dev

在Android中单击按钮后如何锁定微调器

来自分类Dev

在android中单击单选按钮时如何显示edittext

来自分类Dev

如何在WebView Android中检测按钮单击?

来自分类Dev

在Android中单击按钮时出现NullPointer异常

来自分类Dev

如何在Android中自动收集按钮单击的分析事件?

来自分类Dev

如何使用Java模拟Android中的按钮单击?

来自分类Dev

在Android Studio中单击按钮更改TextView文本(Kotlin)

来自分类Dev

在每个按钮中获取时间和日期,单击android

Related 相关文章

  1. 1

    无法在Android中单击按钮

  2. 2

    单击按钮从Android中的EditText获取文本

  3. 3

    在Android中动态创建表(单击按钮)

  4. 4

    以编程方式单击Android中的单选按钮?

  5. 5

    片段中的Android按钮单击方法(崩溃)

  6. 6

    在Android中动态创建表(单击按钮)

  7. 7

    单击按钮停止在Android中运行

  8. 8

    片段中的Android按钮单击方法(崩溃)

  9. 9

    在Android中单击按钮时出现NullPointerException

  10. 10

    在Android中单击按钮显示/隐藏片段

  11. 11

    Android Wear中的通知

  12. 12

    Android Wear:点击Wear中的通知操作按钮,在掌上电脑中启动一项活动

  13. 13

    Android Wear:点击Wear中的通知操作按钮,在掌上电脑中启动一项活动

  14. 14

    使用指向单个方法的按钮来区分单击了android按钮数组中的哪个android按钮

  15. 15

    带有onClickListeners的xml中的Android按钮,必须再次单击该按钮才能单击

  16. 16

    如何在Android中为单击的图像按钮制作边框?

  17. 17

    延迟5秒后如何自动在Android中单击按钮

  18. 18

    如何避免在Android中同时单击多个按钮?

  19. 19

    如何通过单击简单按钮在android中显示日历

  20. 20

    在Android中通过动态单击按钮添加微调器

  21. 21

    在android中单击按钮打开新的课程/活动

  22. 22

    在Android中单击按钮后如何锁定微调器

  23. 23

    在android中单击单选按钮时如何显示edittext

  24. 24

    如何在WebView Android中检测按钮单击?

  25. 25

    在Android中单击按钮时出现NullPointer异常

  26. 26

    如何在Android中自动收集按钮单击的分析事件?

  27. 27

    如何使用Java模拟Android中的按钮单击?

  28. 28

    在Android Studio中单击按钮更改TextView文本(Kotlin)

  29. 29

    在每个按钮中获取时间和日期,单击android

热门标签

归档