2つのアプリケーションがあります。1 つのアプリにはアクティビティがあり、別のアプリにはバックグラウンド サービスがあります。アクティビティからサービスを開始するにはどうすればよいですか?
私は試した:
Intent intent = new Intent () ;
intent.setClassName("com.example.mySerive","com.example.mySerive.service") ;
this.startService(intent);
2つのアプリケーションがあります。1 つのアプリにはアクティビティがあり、別のアプリにはバックグラウンド サービスがあります。アクティビティからサービスを開始するにはどうすればよいですか?
私は試した:
Intent intent = new Intent () ;
intent.setClassName("com.example.mySerive","com.example.mySerive.service") ;
this.startService(intent);
最初に、2 つ目のアプリの AndroidManifest でサービスを宣言する必要があります。
アクティビティ (およびその他のコンポーネント) と同様に、アプリケーションのマニフェスト ファイルですべてのサービスを宣言する必要があります。
サービスを宣言するには、要素の子として要素を追加します。例えば:
<application ... >
<service android:name=".ExampleService" />
...
</application>
サービスをローカルでのみ使用する予定の場合 (他のアプリケーションでは使用されません)、インテント フィルターを提供する必要はありません (すべきではありません)。インテント フィルタがない場合は、サービス クラスを明示的に指定するインテントを使用してサービスを開始する必要があります。サービスの開始に関する詳細については、以下で説明します。
外部アプリケーションで使用する場合は、 IntentFilter を定義する必要があります。
<service android:name=".ExampleService" />
<intent-filter>
<action android:name="br.com.androidzin.MyService" />
</intent-filter>
</service>
その後、次の方法で外部アプリでサービスを開始できます。
Intent intent=new Intent("br.com.androidzin.MyService");
this.startService(intent);