gpt4 book ai didi

android - Google Maps API v2 法律声明字符串太长

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:48 27 4
gpt4 key购买 nike

我正在尝试在我的 Android 应用程序中添加 Google Maps v2 API 的法律声明,可以通过调用获取该声明:GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo()

所以,我的代码如下:

String LicenseInfo = GooglePlayServicesUtil
.getOpenSourceSoftwareLicenseInfo(getApplicationContext());

AlertDialog.Builder LicenseDialog = new AlertDialog.Builder(MyActivity.this);
LicenseDialog.setTitle("Lagal Notices");
LicenseDialog.setMessage(LicenseInfo);
LicenseDialog.show();

但是当我执行这段代码时,系统需要大约 10 秒才能显示对话框(考虑到我的设备是 OnePlus One,这似乎很奇怪)。

如果我尝试用一​​个简单的(较短的)字符串替换 LicenseInfo,对话框打开的速度非常快。所以我认为问题出在从 Google play 实用程序中检索到的法律声明信息的长度。

我该如何解决这个问题?

最佳答案

我遇到了同样的问题,但我在 GitHub 上找到了这个问题,并以此为基础提出了我的解决方案。这确实有帮助,但是当显示警报对话框时,UI 线程上仍然有一个小的挂起,但只有几秒钟。

https://github.com/wf9a5m75/phonegap-googlemaps-plugin/blob/master/src/android/plugin/google/maps/AsyncLicenseInfo.java

private class AsyncLoadLicenseInfo extends AsyncTask<Void,Void,AlertDialog.Builder>
{

@Override
protected void onPreExecute()
{
progressDialog = new ProgressDialog(context);
progressDialog.setIndeterminate(true);
progressDialog.setMessage(context.getResources().getString(R.string.LegalNoticesLoading));
progressDialog.setCancelable(false);
progressDialog.show();

}

@Override
protected AlertDialog.Builder doInBackground(Void... params)
{
String googleAttribution = GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo(context);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder
.setTitle(context.getResources().getString(R.string.AboutLegalNotices))
.setCancelable(false)
.setMessage(googleAttribution)
.setPositiveButton(context.getResources().getString(R.string.Close),null);

return builder;
}

@Override
protected void onPostExecute(AlertDialog.Builder builder)
{

AlertDialog attributionDialog = builder.create();
attributionDialog.setOnShowListener(new DialogInterface.OnShowListener()
{
@Override
public void onShow(DialogInterface dialog)
{
progressDialog.dismiss();
progressDialog = null;

}
});

attributionDialog.show();
}
}

关于android - Google Maps API v2 法律声明字符串太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com