据我了解,您是在暂停baseActivity的情况下静音播放音乐,而不是将其写在您的Music play活动中
例如:
public class baseActivity extends AppCompatActivity{ @Override public void onPause(){ //do things that common for all activities } }public void MusicPlayActivity extends AppCompatActivity{ @Override public void onPause(){ music.mute() }}
这会工作
更新
有几种方法可以检测应用程序是否在后台运行,但是只有其中一种是完全可靠的:自己使用
Activity.onPause,
Activity.onResume方法来跟踪应用程序的可见性。将“可见性”状态存储在其他一些类中。
示例 :实现自定义Application类(请注意isActivityVisible()静态方法):
公共类MyApplication扩展了Application {
public static boolean isActivityVisible() { return activityVisible; } public static void activityResumed() { activityVisible = true; } public static void activityPaused() { activityVisible = false; } private static boolean activityVisible;}
在AndroidManifest.xml中注册您的应用程序类:
<application android:name="your.app.package.MyApplication" android:icon="@drawable/icon" android:label="@string/app_name" >
onPause并添加
onResume到项目中的每个Activity中(如果您愿意,可以为您的Activity创建一个共同的祖先,但是如果您的Activity已经从MapActivity
/ ListActivity等扩展了,您仍然需要手工编写以下内容):
@Overrideprotected void onResume() { super.onResume(); MyApplication.activityResumed();}@Overrideprotected void onPause() { super.onPause(); MyApplication.activityPaused();}
在API级别14(Android
4.0)中添加了ActivityLifecycleCallbacks。您可以使用它们来跟踪用户当前是否可以看到应用程序的活动。有关详细信息,请查看下面的Cornstalks答案。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)