Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在后台的两个android活动之间交换数据,通过蓝牙发送数据?_Java_Android_Android Activity_Bluetooth - Fatal编程技术网

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

Java 如何在后台的两个android活动之间交换数据,通过蓝牙发送数据?,java,android,android-activity,bluetooth,Java,Android,Android Activity,Bluetooth,我需要将数据从活动A传递到活动B并在后台向后传递,因为活动A有一个初始化类的方法,该类正在管理蓝牙连接,我无法从活动B初始化该类,因为活动A中的方法已经初始化了它 我试图创建我需要创建的静态方法,但从静态方法中,我无法调用bluetooth类中的非静态方法: public static void setup(String address) { bt = new Bluetooth(this, handler); outStringBuffer

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

我试图创建我需要创建的
静态
方法,但从静态方法中,我无法调用bluetooth类中的
非静态
方法:

   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
   }
所以我的问题是:

  • 当另一个类是非静态的时,是否有方法从该类调用
    setup()
  • 如果答案是肯定的,怎么办?或者如果答案是如何在不调用任何方法的情况下传递数据
  • 请记住,
    startActivityForResult()
    startActivity()
    无法解决此问题,因为我需要多次将数据从
    活动B
    发送到
    A
    ,而
    活动A
    应该从我的bluetooth类调用方法,该类通过bluetooth发送数据

    p.S我找到了一种使用ViewFlipper的方法,但就我而言,这太复杂了,无法合并两个类。
    我不能直接从
    活动B
    向Bluetooth类发送数据,因为
    活动A
    已经打开了套接字,Java将抛出异常,它无法启动活动或类似的东西。

    好的,这很好…将字符串从活动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方法从活动中使用此变量传递

    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);
    }
    

    你可以在谷歌上搜索更多信息。使用意图从活动中传递数据。

    您试图从活动中传递什么类型的数据?我想传递字符串变量