从第二个活动调用 sendMessage 方法

Posted

技术标签:

【中文标题】从第二个活动调用 sendMessage 方法【英文标题】:Invoke sendMessage method from second activity 【发布时间】:2014-06-25 04:33:42 【问题描述】:

我正在为 Chromecast 发件人应用程序做一些开发,我的 MainActivity 类中有这个方法:

public void sendMessage(String message) 
        if (mApiClient != null && mHelloWorldChannel != null) 
            try 
                Cast.CastApi.sendMessage(mApiClient, mHelloWorldChannel.getNamespace(), message)
                        .setResultCallback(
                                new ResultCallback<Status>() 
                                    @Override
                                    public void onResult(Status result) 
                                        if (!result.isSuccess()) 
                                            Log.e(TAG, "Sending message failed");
                                         else 
                                            System.out.println("Message sent!");
                                        
                                    
                                );
             catch (Exception e) 
                Log.e(TAG, "Exception while sending message", e);
            
         else 
            if (mApiClient == null) 
                System.out.println("apiClient null");
            

            if (mHelloWorldChannel == null) 
                System.out.println("mHello null");
            
        
    

一切都很好,我可以向我的 Chromecast 发送消息,并在他们到达时与他们一起做一些漂亮的事情。但是,我在我的应用程序中使用了许多其他活动,我也希望能够从这些活动向 Chromecast 发送消息。

也就是说,从第二个活动中访问此方法的最佳方式是什么?

【问题讨论】:

您可以将该方法定义为静态。 @WaqarAhmed 它是一个 Activity 类,您想要创建该类的一个实例。 op说第二个活动 对不起,我猜我错了。 【参考方案1】:

如果你要定义你的静态方法,那么你可以这样调用它:

ClassName.sendMessage(String message);

如果不是静态的,你需要为它创建一个对象。

ClassName c= new ClassName(SomeconstructorParams);
c.sendMessage(String message);

【讨论】:

以上是关于从第二个活动调用 sendMessage 方法的主要内容,如果未能解决你的问题,请参考以下文章

使用android中的可序列化将对象从第二个活动传递回主要活动

按下后如何将数据从第二个活动传递到第一个活动? - 安卓

如何更改从第一个活动单击的按钮上的第二个活动的文本? [科特林]

在下一个活动中在 webview 中预加载 URL

Qt:没有从第二个线程调用插槽

axios 调用从第一个 api 获取响应并传递到第二个 api