Android 5 では動く AltBeacon が Android 6.0 ではエラーを吐いて動かなかった。
D/BluetoothLeScanner: could not find callback wrapper
AndroidManifest.xml の記述だけではだめらしい。
# AndoidManifest.xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
【Is Your Beacon App Ready for Android 6.0?】
ここにあるようにコードを加えて、ロケーションアクセスをダイアログで許可するようにして、やっと動くようになりました(>.<)ノ
public class MainActivity extends AppCompatActivity implements BeaconConsumer {
private static final int PERMISSION_REQUEST_COARSE_LOCATION = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Android M Permission check
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (this.checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION},PERMISSION_REQUEST_COARSE_LOCATION);
}
}