如何获取设备IMEI?有两个功能:
- getImei()
- 获取设备ID()
哪个更好用?如何在 Android 10 (SDK 29) 上获取 IMEI?
如何获取设备IMEI?有两个功能:
哪个更好用?如何在 Android 10 (SDK 29) 上获取 IMEI?
无法通过合并并行运行两个 Observable。
class MyExample {
//Создание observable
public static Observable<String> createObservable(String name){
return Observable.create(o -> {
Integer count = 1;
while (count++ < 100) {
Thread.sleep(100);//TODO:Имитация работы удаленного сервера
o.onNext(name+"_"+count.toString());
}
o.onComplete();
});
}
public MyExample() {
//Формируем список из observable
List<Observable<String>> ol = new ArrayList<>();
ol.add(createObservable("Первый"));
ol.add(createObservable("Второй"));
Observable<String> rxObservable = Observable.merge(ol)
.subscribeOn(Schedulers.io())
.observeOn(io.reactivex.android.schedulers.AndroidSchedulers.mainThread());
//Слушатель, выводит в консоль все что ему присылают
DisposableObserver<String> observer = new DisposableObserver<String>() {
@Override
public void onNext(String s) {
Log.e("rx", s);
}
@Override
public void onError(Throwable e) {
Log.e("rx", "error");
}
@Override
public void onComplete() {
Log.e("rx", "complete");
}
};
rxObservable.subscribe(observer); //Запускаем
}
}
执行时,这些行Первый_x
和Второй_x
应该在控制台中显示为混合,如工作所描述的那样.megre()
。但是由于某种原因,执行是按顺序进行的,首先出现了一切Первый_x
,然后才出现了一切 Второй_x
。问题是什么?
无意中发现了一个奇怪的功能。如果您在简单的注释中使用该结构:
// noinspection <key>
然后它就像注释一样工作@SuppressLint("<key>")
。我在文档中没有找到任何关于它的信息。使用示例:
// noinspection all
int i = 1 / 0;
对这个未记录的功能有什么了解?