- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在我的 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 线程上仍然有一个小的挂起,但只有几秒钟。
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/
MonadBaseControl class提供很少的法律。获取something I want ,我还需要一个: forall f q. f liftBaseWith q = liftBase
我花了整整一个晚上来处理来自内置ALSA工具aplay和arecord的原始A-law音频输入/输出,并将它们通过我编写的脱机移动平均滤波器。 我的问题是:音频似乎使用0x2A和0xAA之间的值进行编
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我向应用商店审核团队提交并收到此警告: We noticed that your app requests the user’s consent to access their contacts bu
我们开发了一款约会应用,要求用户输入高度等个人信息。我们的应用程序获得批准超过 5 次,但最近因更新而被拒绝。我们需要这些信息,因为我们希望每个配置文件都保持一致,而不是有任何半填充的配置文件。我们还
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 3 年前。 Improve
我使用 Firebase 进行用户身份验证,我刚刚重新提交了我的应用程序并得到了以下拒绝: Guideline 5.1.2 - Legal - Privacy - Data Use and Shari
Google AdMob 现在显示以下警告。 为 iOS 14 准备您的应用程序 Apple 宣布了新的 AppTrackingTransparency 框架,该框架需要对您的 iOS 应用程序进行更
我是一名优秀的程序员,十分优秀!