我发现了很多关于这个的线程,但没有一个能解决我的问题。
我的应用程序是一个在线收音机,点击菜单或进入设备主页,收音机仍在播放,应该是这样。
但是当点击应用程序图标时,打开应用程序的一个新实例,应该只在实例已经打开时才返回,这会使它们同时播放两个收音机。要完成应用程序的第一个实例,必须转到“管理应用程序”菜单并终止应用程序。
我试过将launchMode 用作singleTask、singleTop、SingleInstance,但没有一个有效。
我该如何解决这个问题?
我很感激任何帮助。
在我的清单下面:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.radiomiriam"
android:versionCode="3"
android:versionName="1.3" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-feature />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/logo_novo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.radiomiriam.Main"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleInstance" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.radiomiriam.Nsi"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.radiomiriam.Contato"
android:label="@string/contato" >
</activity>
</application>
</manifest>
亲爱的朋友,把错误的问题放在这里。对不起。
仅在单击后退按钮时出现问题,然后将以下功能放入我的活动中:
public void onBackPressed() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
并且现在正在 100% 工作。
非常感谢所有回复的人。