小编Sim*_*mon的帖子

在准备状态下安全重置MediaPlayer?

我正在使用MediaPlayer编写一个音频播放器,允许用户跳过实际曲调.跳过请求可能随时发生,包括在调用MediaPlayer.prepareAsync和即将发生的onPrepared回调之间.医生说:

重要的是要注意,准备状态是暂时状态,并且在MediaPlayer对象处于准备状态时调用任何具有副作用的方法的行为是未定义的.

这包括调用重置,甚至释放吗?因为如果是这样,那么我要么必须等待onPrepared回调重用MediaPlayer或分配一个全新的MediaPlayer如果我不想等待并在onPrepared回调上发布过时的那个,对吧?

android

8
推荐指数
2
解决办法
4421
查看次数

查看开关:如何阻止用户之间的交互?

我使用视图切换器以类似于任务中切换的标准活动的方式在视图之间切换.例如,切换器中的当前视图可能有一个按钮,当单击该按钮时,将启动视图切换:当前视图(现已过时)滑出,并由新的当前视图替换,该视图将滑入.

动画切换只适用于一件事:我找不到正确的方法来告诉滑出视图停止处理用户事件,如触摸事件.所以会发生什么,如果做得足够快,而且不必那么快,用户可以点击多次启动视图切换的按钮,这很糟糕.一旦单击(或任何用户操作)启动了视图切换,我想在滑出视图上使其无效并忽略所有其他用户事件.

有一个干净,标准的方法吗?我已经在滑出视图上尝试了setEnabled(false),但看起来子视图中的点击侦听器仍在后续处理.我想要避免的是寻找所有事件处理程序并添加验证代码,以确保在视图实际滑出时不执行任何操作.

android

6
推荐指数
2
解决办法
7495
查看次数

标准意图URI坏了吗?

我在特定设备上遇到意图URI问题,所以我尝试了CommonsWare URLHandler示例,如下所示:使用意图URI启动我的应用程序,其示例页面上的意图URI超链接也无法调用应用程序.该示例声明了其intent-filter,如下所示:

<intent-filter>
    <action android:name="com.commonsware.android.MY_ACTION" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

示例网页中的超链接是:

<a href="intent:#Intent;action=com.commonsware.android.MY_ACTION;end">Link back to URLHandler via intent: URL</a>
Run Code Online (Sandbox Code Playgroud)

这适用于大多数设备,但不适用于运行Android 4.0.3的HTC Amaze 4G.当我触摸链接时,logcat给出:

I/PRIME(9029): <CallBackProxy> Send to WebViewClient.
I/PRIME(9029): <Browser> Send to HtcLinkifyDispatcher
I/ActivityManager(262): START intent from pid 9029
D/MP-Decision(891): Aggress decision engine: Off
D/MP-Decision(891): Switch back to normal parameters: 
    Nw=2.700000, Tw=180, Ns=2.100000, Ts=270, Decision_ms=100, Poll_ms=10
V/NfcService(600): setForegroundNdefPush msg = null callback = null
D/HtcTelephony(561): requestSetFastDormancy: module=0 mode=0
D/WebViewTimersControl(9029): onBrowserActivityPause
D/WebViewTimersControl(9029): Pausing webview timers, 
   view=com.android.browser.BrowserWebView@40e562f8 …
Run Code Online (Sandbox Code Playgroud)

android android-intent commonsware htc-android

6
推荐指数
1
解决办法
1897
查看次数