Banch onInitFinished 即使在超时后也没有被调用
Banch onInitFinished not called even after timeout
Branch branch = Branch.getInstance();
branch.setRetryCount(1);
branch.setRetryInterval(10);
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError branchError) {
我的onInitFinished在用户网速慢的时候有时不会被调用。我已经看到应用程序在尝试初始化分支时卡住了超过 30 秒
Alex 来自 Branch:
这是目前已知的边缘情况。我们正在努力修复,但现在您可以像下面这样实现超时:
final CountDownLatch countDownLatch = new CountDownLatch(1);
new Thread(new Runnable() {
@Override
public void run() {
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError error) {
if(countDownLatch.getCount() > 0) {
countDownLatch.countDown();
postBranchInitSession(null);
}
}
});
try {
countDownLatch.await(5000, TimeUnit.MICROSECONDS);
} catch (InterruptedException ignore) {
postBranchInitSession(null);
}
}
}).run();
Branch branch = Branch.getInstance();
branch.setRetryCount(1);
branch.setRetryInterval(10);
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError branchError) {
我的onInitFinished在用户网速慢的时候有时不会被调用。我已经看到应用程序在尝试初始化分支时卡住了超过 30 秒
Alex 来自 Branch:
这是目前已知的边缘情况。我们正在努力修复,但现在您可以像下面这样实现超时:
final CountDownLatch countDownLatch = new CountDownLatch(1);
new Thread(new Runnable() {
@Override
public void run() {
branch.initSession(new Branch.BranchUniversalReferralInitListener() {
@Override
public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError error) {
if(countDownLatch.getCount() > 0) {
countDownLatch.countDown();
postBranchInitSession(null);
}
}
});
try {
countDownLatch.await(5000, TimeUnit.MICROSECONDS);
} catch (InterruptedException ignore) {
postBranchInitSession(null);
}
}
}).run();