我目前正在努力将现有的Android游戏与"旧的谷歌游戏"服务一起调整到新的API,因为我更新了库并发现所有已弃用的方法都要删除.
在之前的实现中,我们使用了类似于单一的"GameHelper"方法,它允许我们在多个活动之间保持连接,而不是一直重新连接它们.我们唯一的问题是显示"错误解决"调试消息,但我们在GameHelper本身内部进行了一些修改(例如,设置新的错误分辨率活动,每次切换活动而不是始终设置整个连接时).这是第一件似乎不适用于新GameHelper机制的东西.
但是我们在之前版本的api中已经遇到的第二个问题是当一个成就被解锁或类似时显示.这是通过重新初始化实际的GamesClient来解决的.但在新版本中,这是不可能的.所以我的问题是:你如何处理多项活动?你是不是每次都重新连接?
我很想听听你的意见.
编辑:重新连接活动开关有多糟糕?事情是..有3个活动以下的使用流程.TrackSelectionActivity - > GameActivity - > GameSummaryActivity ...重复.这些实际的互联网连接还是本地的播放服务客户端?
我是第一次使用Google for Android的应用内结算功能.但是,如果用户没有连接互联网或没有安装谷歌框架(例如使用自定义roms)和可能的其他场合(如错误/旧市场版本等)此方法(在提供的IabHelper类内):
mContext.bindService(new Intent("com.android.vending.billing.InAppBillingService.BIND"),
mServiceConn, Context.BIND_AUTO_CREATE);
Run Code Online (Sandbox Code Playgroud)
不起作用,没有服务得到确立.使用"活动管理器"中的小调试信息:
12-17 19:58:31.184: W/ActivityManager(76): Unable to start service Intent { act=com.android.vending.billing.InAppBillingService.BIND }: not found
Run Code Online (Sandbox Code Playgroud)
有没有人找到任何方式以有意义的方式"捕获"此错误,或任何解决方法来检查Intent/Package是否可用?
提前致谢.
我有一个项目运行应该允许播放并最终还记录.DSS("数字语音标准")和.DS2("数字语音标准专业版")音频文件.但是,我似乎无法找到任何相关信息.有没有办法实现这个或任何库可能在那里启动和运行?
我正在使用android内置的android.media.MediaPlayer,如果这是有用的无论如何.
提前致谢.
我想将广播接收器用于使用 ACTION_SEND 类型的“隐式意图”。
它仍然非常基本,但无论如何我的应用程序/接收器已经没有出现,无论我尝试哪个应用程序的“共享菜单”。
摘自 AndroidManifest.xml:
<receiver
android:name=".SaveReceiver" >
<intent-filter
android:icon="@drawable/ic_launcher"
android:label="YourDrive" >
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter
android:icon="@drawable/ic_launcher"
android:label="YourDrive" >
<action android:name="android.intent.action.SEND_MULTIPLE" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
我试过设置一个 mimeType,但没有任何帮助。我是否必须设置特定的 mimeType 或者我可以稍后检查它(在处理内容时通过 Java 代码)?我做错了什么,以至于我的应用程序没有出现在所有应用程序的“共享菜单”中...
提前致谢。
我想知道如何在Android中正确显示日期.我的意思是日期格式,适合下载应用程序的特定区域.我正在做的atm是:
DateFormat formatter = DateFormat.getDateTimeInstance();
String[] dateParts = date.split(DATE_DELIMITER);
Date temp = new Date(Integer.valueOf(dateParts[4])-1900, Integer.valueOf(dateParts[3]),
Integer.valueOf(dateParts[2]), Integer.valueOf(dateParts[0]),
Integer.valueOf(dateParts[1]));
return formatter.format(temp);
Run Code Online (Sandbox Code Playgroud)
所以...这有以下问题:Java.util.Date被标记为已弃用,它也显示我秒,虽然我不想这样.
那有什么"美丽"的解决方案吗?如果你能告诉我,我会很高兴:)