如何更改 GooglePlayServicesUtil.getErrorDialog() 中显示的文本?

How do I change the text shown in GooglePlayServicesUtil.getErrorDialog()?

我正在尝试按照 Google 文档中的 gcm 教程进行操作。他们说如果 Play 服务过期就调用这个方法:

 GooglePlayServicesUtil.getErrorDialog(resultCode, activity, 9000).show();

很好,但它会显示一个对话框,上面写着 "This app won't run unless you update Google Play Services" 和 "Update" 按钮。我想更改标题和消息文本。我的用户可以跳过更新,应用程序仍将 运行。他们只是不会收到推送通知。如何更改对话框的消息?

我想做这样的事情:

Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(resultCode, activity, 9000);
errorDialog.setTitle("out of date");
errorDialog.setMessage("Please update or push notifications won't work. Thank you");
errorDialog.show();

您可以像这样在应用程序的 strings.xml 中覆盖所需的字符串值。只需将这些行添加到您的 strings.xml

对话框中的消息

<string name="common_google_play_services_update_text" msgid="448354684997260580">This app won\'t run unless you update Google Play services.</string>

对话框标题

<string name="common_google_play_services_update_title" msgid="6006316683626838685">out of date</string>

编辑 你可以在这里找到更多信息 http://blog.elsdoerfer.name/2010/04/08/android2po-managing-android-translations/What's the meaning of attribute 'msgid' in strings.xml?

msgid 在 android 内部字符串中用于本地化,但我从未找到任何关于它的文档。我上面有两个参考。我相信如果你删除 msgid 它仍然可以工作,虽然我从未尝试过。

这段代码的来源是

android_sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\common_strings.xml