主线程 传递给子线程一个数据

public class MainActivity extends AppCompatActivity  implements BatteryReceiver.BatteryBRInterface {

    private int BatteryPower = 0;

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

        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        BatteryReceiver batteryReceiver = new BatteryReceiver();
        registerReceiver(batteryReceiver, intentFilter);
        batteryReceiver.setBatteryBRInterfaceListener((BatteryReceiver.BatteryBRInterface) this);




    }
    @Override
    public void getPower(int power) {
        if (power!=0){
            BatteryPower = power;
            String s  = Integer.toString(BatteryPower);
            Log.e("zzz", s);
                         //发起连接线程   
            new ClientConn().start();
        }

    }

}

我需要BatteryPower这个值传递出给子线程,让子线程去做数据的发送。
说明:这个数据是BroadcastReceiver中得到的,开始不知道怎么传递到MainActivity,后边仿照这个文章http://blog.csdn.net/a910626/article/details/45767079做成现在这样。

1个回答

ClientConn就是你的子线程吗?可以在ClientConn里面定义个成员变量,然后通过构造方法把power穿进去呀,如:new ClientConn(power).start()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐