首页 > 解决方案 > openweathermap api 密钥不适用于签名的 apk

问题描述

我有一个开放的天气图 api 密钥,它与调试 apk 配合得很好,但是当我将它与签名 apk 一起使用时,我的应用程序崩溃了。

在那里的网站上,没有任何限制你不能在生产中使用它。所以为什么会发生不知道?

weatherDesc.setText(getString(R.string.weather_conditions) + " : " + "Loading...");
                    currTemp.setText(getString(R.string.current_temperature) + " : " + "Loading...");

                    OpenWeatherMapHelper helper = new OpenWeatherMapHelper("api_key");
                    helper.setUnits(Units.METRIC);
                    helper.getCurrentWeatherByGeoCoordinates(latti, longi, new CurrentWeatherCallback() {
                        @Override
                        public void onSuccess(CurrentWeather currentWeather) {
                            weatherDesc.setText(getString(R.string.weather_conditions) + " : " + currentWeather.getWeather().get(0).getDescription());
                            currTemp.setText(getString(R.string.current_temperature) + " : " + currentWeather.getMain().getTemp() + "°C");

                        }

                        @Override
                        public void onFailure(Throwable throwable) {
                            weatherDesc.setText(getString(R.string.weather_conditions) + " : " + " N/A");
                            currTemp.setText(getString(R.string.current_temperature) + " : " + " N/A");

                            MDToast mdToast = MDToast.makeText(DisplayAcitvity.this, "There is some problem ! please try again" + throwable.toString(), MDToast.LENGTH_SHORT, MDToast.TYPE_ERROR);
                            mdToast.setGravity(Gravity.CENTER, 0, 400);
                        }
                    });
                } else {
                    weatherDesc.setText(Html.fromHtml(getString(R.string.weather_conditions) + " : " + "<font color=red>" + "connect to internet" + "</font>"));
                    currTemp.setText(Html.fromHtml(getString(R.string.current_temperature) + " : " + "<font color=red>" + "connect to internet" + "</font>"));
                }

标签: android

解决方案


抱歉打扰,我得到了答案。实际上,我正在使用第三方库通过将地理坐标传递给它来获取温度和条件的值。现在使用直接 api 调用 openweathermap 并在参数中传递邮政编码。现在它解决了。 https://openweathermap.org/current


推荐阅读