我通过Intent
启用蓝牙服务并调用startActivityForResult()
方法,如下所示:
public void enableBT(BluetoothAdapter adapter) {
if (!adapter.isEnabled()) {
Intent enableBTIntent = new Intent(
BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivityForResult(enableBTIntent, ENABLE_BT_INTENT);
}
}
在此代码中,adapter
是BluetoothAdapter
个对象。在此之后,我按如下方式致电onActivityResult()
:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ENABLE_BT_INTENT)
if(resultCode == Activity.RESULT_OK)
button.setText("Done");
但是在启用蓝牙后,button.setText("Done");
代码不会被执行。
问题出在哪里?
感谢。
答案 0 :(得分:2)
button.setText(resultCode);
会出错,因为resultCode
是int
,所以它会查找resource
id
。请参阅setText()的两种方法。你可以使用
button.setText(String.valueOf(resultCode));
如果您希望显示String
的{{1}}值。否则请更好地解释您想要发生的事情。