startService呼び出しを介してプログラムで開始できないサービスをAndroidで作成することは可能ですか?つまり、このサービスを使用するアプリケーションとサービス自体は、ユーザーのみが明示的に開始する必要があり、サービスが既に開始されている場合は、bindServiceを介してのみアクセスできる必要があります。
2 に答える
で開始できませんstartService
か?他にどのように開始されますか?
あなたが望んでいるのは、あなた自身のアプリだけがそれを起動できるようにすることであり、外部のあなたが書いたものではないアプリはできないようにすることだと思います。その場合は、
android:exported="false"
この方法で保護したいそれぞれのAndroidManifest.xml
ファイルに。Service
startService呼び出しを介してプログラムで開始できないサービスをAndroidで作成することは可能ですか?
あまり。私はこれを試したことがなく、予期しない問題が発生する可能性がありますが、おそらくstopSelf()
から電話をかけることができます。onStartCommand()
サービス自体は、ユーザーのみが明示的に開始する必要があります
Androidのユーザーがサービスを直接開始する方法はありません。自分のアプリなど、いくつかのアプリを使用するだけです。
bindService経由でのみアクセス可能である必要があります
への呼び出しを防ぐ手段はありませんstartService()
。サービスがエクスポートされていない場合、他のアプリケーションはサービスを開始またはバインドできません。
開始されている場合は、bindServiceを介して他のアプリケーションで利用できます
エクスポートする場合のみ。@Argyleが指摘しているように、他のアプリケーションを開始したり、サービスにバインドしたりしたくない場合は、エクスポートしないでください。