2013-03-23 55 views
0

我發現很多關於此的線程,但沒有解決我的問題。只有一個應用程序的實例

我的應用程序是一個在線廣播,點擊菜單或進入設備主頁,廣播仍在播放,這就是它應該是。

但是,當點擊應用程序圖標時,打開一個新的應用程序實例,只有當實例已經打開時纔會返回,這使得它們可以同時播放兩個無線電。要完成,那麼應用程序的第一個實例必須轉到「管理應用程序」菜單並終止應用程序。

我試過使用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%。

非常感謝所有回答。

+0

只是一個建議行了,我從來沒有嘗試過。擴展應用程序類,並給他一個像「打開」的布爾屬性,然後在你的啓動活動的onCreate,如果它打開,請求應用程序,如果沒有,設置打開爲真,並開始活動,如果已經打開,完成您的啓動活動 – lelloman 2013-03-23 15:37:40

+0

您需要設置一個標誌,每次啓動應用程序UI時都會被您的服務檢查。 – 2013-03-23 15:37:44

+0

你可以在這裏添加你的AndroidManifest.xml的相關部分到你的問題嗎? – Joe 2013-03-23 15:39:20

回答

0

嘗試在後臺運行的服務,因爲無線電需要在後臺播放,並且點擊停止服務並重新啓動所有服務。

+0

我會嘗試一下,我不想重新啓動服務,因爲它會從收音機休息並重新啓動,並且不會變得可愛。但似乎解決方案 – 2013-03-23 16:10:06

+0

我沒有使用服務,但肯定會是一個解決方案,謝謝。 – 2013-03-23 19:48:38

+0

做ü需要做的按鈕被點擊時 – 2013-03-24 03:52:11

1

在清單中添加下面適當的活動

android:finishOnTaskLaunch="true" 
+0

它沒有工作,我會嘗試使用服務,並檢查該服務運行的每一個活動啓動 – 2013-03-23 16:08:14

相關問題