0

これに関する多くのスレッドを見つけましたが、どれも私の問題を解決しませんでした。

私のアプリケーションはオンライン ラジオで、メニューをクリックするか、デバイスのホームページに移動すると、ラジオがまだ再生されます。

ただし、アプリケーション アイコンをクリックすると、アプリケーションの新しいインスタンスが開き、インスタンスが既に開いている場合にのみ返されます。これにより、2 つのラジオが同時に再生されます。終了するには、アプリケーションの最初のインスタンスで [アプリケーションの管理] メニューに移動し、アプリケーションを終了する必要があります。

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% 稼働しています。

回答してくれたすべての人に感謝します。

4

2 に答える 2

1

マニフェストで、以下の行を適切なアクティビティに追加します

android:finishOnTaskLaunch="true"
于 2013-03-23T15:57:22.890 に答える
0

ラジオはバックグラウンドで再生する必要があるため、バックグラウンドで実行されるサービスを試し、クリックするとサービスを停止してすべてを再起動します。

于 2013-03-23T15:41:41.290 に答える