【发布时间】:2017-06-21 22:02:05
【问题描述】:
我需要将数据从Activity A 传递到Activity B 并在后台向后传递,因为Activity A 具有初始化类的方法,该类正在管理蓝牙连接,我无法从Activity B 初始化该类,因为Activity 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
}
所以我的问题:
- 当它是
non-static时,有没有办法从另一个类调用setup()? - 如果答案是YES,怎么办?或者如果答案是NO如何在不调用任何方法的情况下传递数据。
请记住startActivityForResult() 或startActivity() 不会解决这个问题,因为我需要多次从Activity B 向A 发送数据,而Activity A 应该从我的蓝牙类中调用发送该数据的方法通过蓝牙传输数据。
P.S我找到了一种使用 ViewFlipper 的方法,但在我的情况下,这太复杂了,无法合并两个类。
而且我不能直接从Activity B 向蓝牙类发送数据,因为Activity A 已经打开了套接字,Java 会抛出无法启动活动之类的异常。
【问题讨论】:
-
你试图从活动中传递什么类型的数据
-
我要传递字符串变量
标签: java android android-activity bluetooth