1. ホーム
  2. android

[解決済み] サービスインテントの起動ができない

2023-08-16 01:34:16

質問

サービスクラスがあります。このクラスをjarにエクスポートし、クライアントアプリにjarを埋め込みました。

必要なときに、私はサービスクラスを呼び出します。これを実行しようとすると、次のエラーが発生します。

Unable to start service Intent {comp={com.sample.service/com.sample.service.serviceClass}} : not found

サービスクラスとは別に、同じjarに含まれる他のクラスにアクセス(そのクラスのオブジェクトを作成)することができます。

設定やマニフェストなどで、何か見落としているような気がします。

同じことを識別するために私を助けてください。私のコードは以下のとおりです。

public void onCreate(Bundle savedInstanceState) {    
      super.onCreate(savedInstanceState);  
      Intent intent = new Intent () ;  
      intent.setClassName("com.sample.service" ,"com.sample.service.serviceClass") ;  
      this.startService(intent) ; // when I call this line I get the message...  
      // binding other process continue  here   
}

クライアントマニフェスト.xml

<service android:name="com.sample.service.serviceClass"  
            android:exported="true" android:label="@string/app_name" 
            android:process=":remote">
   <intent-filter><action android:name="com.sample.service.serviceClass"></action>
   </intent-filter>
</service>

よろしくお願いします。

Vinay

どのように解決するのですか?

まず android:process=":remote" は不要なので、削除してください。

次に <service> 要素にアクション文字列が含まれているので、それを使用します。

public void onCreate(Bundle savedInstanceState) {    
      super.onCreate(savedInstanceState);  
      Intent intent=new Intent("com.sample.service.serviceClass");  
      this.startService(intent);
}