如何在后台的两个android活动之间交换数据通过蓝牙发送数据?

时间:2017-06-21 22:02:06

标签: java android android-activity bluetooth

我需要将数据从Activity A传递到Activity B并向后传递,因为Activity A有方法,初始化类,管理蓝牙连接,我无法初始化该类来自Activity B,因为活动A中的方法已经初始化了它。

我尝试制作我需要制作static的方法,但是从静态方法我不能从我的蓝牙类中调用non-static方法:

   public static void setup(String address) {
            bt = new Bluetooth(this, handler);
            outStringBuffer = new StringBuffer("");
            bt.startConn(address);
        //Java throws error that bt is non-static
   }

所以我的问题:

  1. setup()non-static时,有没有办法从另一个班级拨打startActivityForResult()
  2. 如果答案是怎么样?或者如果答案是如何在不调用任何方法的情况下传递数据。
  3. 请注意,startActivity()Activity B无法解决此问题,因为我需要多次从AActivity A发送数据并Activity B应该从我的蓝牙类中调用方法,该方法通过蓝牙发送数据。

    P.S 我找到了一种使用ViewFlipper的方法,但在我的情况下,这太复杂了,无法合并两个类。 我无法直接从Activity A向蓝牙类发送数据,因为TokenMismatchException in VerifyCsrfToken.php line 68已经打开了套接字,Java会抛出异常,无法启动活动或类似的东西。

1 个答案:

答案 0 :(得分:0)

好的,非常好......将活动1中的字符串传递给您需要的活动2

传递和检索此方法的方法,意图

public void setUp (String address) {
/* start an intent to pass the string data*/
Intent intent = new Intent(GridViewActivity.this,       MovieDetailActivity.class);

/* use the intent object to pass string to another activity using putExtra method */

intent.putExtra("your string");
 start intent(intent);
}

然后在您的接收活动中使用getStringExtra

final String original_title =     getIntent().getStringExtra("your string");

然后您可以使用Intent和PutExra以及getIntent和getStringExtra方法从活动中使用此变量传递

您可以更多地了解这一点。使用意图传递来自活动的数据。