Dalam IntentExamples proyek saya, saya memiliki filter ini, terkait dengan layanan.
<intent-filter>
<action android:name="biz.rpcodes.apps.intentexamples.START_SERVICE" />
</intent-filter>
Di proyek lain, UseExampleService, saya punya sesuatu seperti:
Intent i = new Intent("biz.rpcodes.apps.intentexamples.START_SERVICE");
startService(i);
... dipandu oleh jawaban ini: https://stackoverflow.com/a/16439551/5181778
Pertanyaan saya adalah: Bagaimana cara terbaik saya mengelola Intent filter Strings ini di beberapa proyek? Solusi terbaik yang saya miliki sekarang adalah membuat kelas yang saya salin dan tempelkan dari proyek Layanan ke proyek lain, yaitu:
class ExampleServiceIntents {
public static final String ExampleServiceIntents.START_SERVICE =
"biz.rpcodes.apps.intentexamples.START_SERVICE";
...
Sementara saya dapat mengimpor kelas Layanan sendiri new Intent(this, ExampleService.class)
, saya ingin menjaga kelas Layanan di proyek mereka sendiri.
Service
tidak diinstal. Dan Anda selalu dapat membuat perpustakaan yang berisi konstanta ini dan kemudian menggunakan perpustakaan itu di setiap proyek.