ストリーミングラジオを作るアプリを作りました。2回目はアイコンをクリックしてアプリを2回開くことで、それを防ぐにはどうすればよいですか?
3 に答える
ここに 1 つの良い提案があります。
* アプリを初めて開いたときにアクティビティを 1 回だけ起動する方法は?
私が一般的に行ったことは、メイン アクティビティに特定の共有設定のチェックを追加することです。その共有設定がない場合は、単一実行アクティビティを起動し、それ以外の場合はメイン アクティビティを続行します。単一の実行アクティビティを起動すると、次回スキップされるように共有設定が作成されます
この解決策は、あなたが求めている質問とは少し異なりますが、探している結果が正確に得られるはずです。
別の可能性はandroid:launchMode = "singleInstance"
、androidmanifest.xml で使用することです。
私見では...
音楽をストリーミングするには、アプリを閉じてもサービスを継続できるように、サービスを使用する必要があります。その時点で、アクティビティはサービスとの通信にのみ使用されます。アプリを起動したら、サービスが実行されているかどうかを確認してください。
通常、これは発生しないはずです。アクティビティが既にシステムを実行している場合、ユーザーが再起動するとシステムが起動します。アクティビティが別のアプリ/アクティビティによって新しいタスクで起動される場合、またはその他の理由で既に実行中のアクティビティの新しいインスタンスを作成するためにインテントが使用される可能性がある場合は、マニフェストで singleInstance または singleTask モードを調べます。
http://developer.android.com/guide/topics/manifest/activity-element.html#lmode
ストリーミングに関しては、Service (できればバインドされたサービス) を使用してメディア プレーヤーを含め、バックグラウンドで引き続き再生できるようにする必要があります。アクティビティはそれに接続するサービスの単なるクライアントであり、サービスは保持します。単一のインスタンス。それはここで説明されています: