0

サービスが開始されないという奇妙な問題があります。サービスにマニフェストファイルがあり、それを呼び出しました。しかし、それでもそれは開かない。

<service
android:name=".com.taxeeta.ForHire"
android:enabled="true" />

インテントを呼び出す

Intent serviceIntent = new Intent();
serviceIntent.setAction("com.taxeeta.ForHire");
startService(serviceIntent);

サービス

public class ForHire extends Service 

ここで何が欠けているのだろうか。

4

4 に答える 4

3

変化する

android:name=".com.taxeeta.ForHire"

android:name="com.taxeeta.ForHire"

または、サービスがルート パッケージにある場合

android:name=".ForHire"

また、 setAction の代わりにIntent.setClass( )を使用する必要があります。これは、サービスに対して IntentFilter が宣言されておらず、明示的なインテントを使用しようとしている可能性が高いためです。

于 2013-01-21T17:18:20.980 に答える
2

startService(new Intent(getApplicationContext(),ForHire.class)); を呼び出すだけです。

あなたのメニフェストでは、すべてが順調です。

あなたのメニフェストに従ってアクションを設定する必要はありません。

于 2013-01-21T17:51:11.433 に答える
2

マニフェストファイルでサービスを宣言するときは、次のように使用します。

<service android:name=".ForHire">
<intent-filter>
     <action android:name="com.taxeeta.ForHire" />
</intent-filter>
</service> 

&コールサービス こんな感じ。

Intent serviceIntent = new Intent();
serviceIntent.setAction("com.taxeeta.ForHire");
startService(serviceIntent);

サービスの詳細については、このドキュメント http://developer.android.com/guide/components/services.htmlを参照してください

于 2013-01-21T17:24:31.017 に答える
1

マニフェストのサービスの宣言に問題があります。次のように変更します。

<service android:name="com.taxeeta.ForHire" />

.( [ドット] が削除されていることに注意してください)。また、service要素の子要素であることも確認してくださいapplication。これは、サービスが Android OS によって認識されるために必須です。

于 2013-01-21T17:24:26.863 に答える