相关疑难解决方法(0)

如何检查Android上的互联网访问?InetAddress永远不会超时

我有一个AsyncTask应该检查网络访问主机名.但是doInBackground()永远不会超时.有人有线索吗?

public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean> {

    private Main main;

    public HostAvailabilityTask(Main main) {
        this.main = main;
    }

    protected Boolean doInBackground(String... params) {
        Main.Log("doInBackground() isHostAvailable():"+params[0]);

        try {
            return InetAddress.getByName(params[0]).isReachable(30); 
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return false;       
    }

    protected void onPostExecute(Boolean... result) {
        Main.Log("onPostExecute()");

        if(result[0] == false) {
            main.setContentView(R.layout.splash);
            return;
        }

        main.continueAfterHostCheck();
    }   
}
Run Code Online (Sandbox Code Playgroud)

networking android asynchronous

637
推荐指数
27
解决办法
45万
查看次数

Android耗材:"已经拥有该项目"但inventory.hasPurchase()为false

我坚持与谷歌在应用V3 - 我测试了购买无消耗(例如,当购买和消费之间的应用程序崩溃) - 现在我没有找到一个出路.

如果我再次尝试购买,它会说"你已经拥有该商品".但是,当我测试所有权时,它说我不拥有它:

Inventory inv = mHelper.queryInventory(false, null);
inv.getPurchase(sku); // null
inv.hasPurchase(sku); // false
Run Code Online (Sandbox Code Playgroud)

我也不能吃东西,因为我没有购买消费.怎么在这里?

编辑 重现如下:购买应用程序耗材,然后禁用互联网连接.之后,您无法再购买该产品几个小时.刚刚从Play商店(Diamond Digger Saga)的流行应用程序进行测试,我的行为完全相同.真的没有可能避免/解决这个问题吗?

android in-app-purchase

17
推荐指数
1
解决办法
1621
查看次数

如何在进行URL连接之前检测用户是否已启用3G/Wifi?

如果用户没有wifi或3g连接,我不希望我的应用程序崩溃.我如何在运行时在我的应用程序中捕获它?

java android android-wifi

6
推荐指数
1
解决办法
4490
查看次数