不调用IntentService

时间:2012-10-22 17:00:15

标签: android intentservice

我想为我的应用程序使用IntentService来从后台线程中的服务器传递数据,而不会妨碍或干扰应用程序活动。 这是我简单的IntentService

public class SearchService extends IntentService  {

    public SearchService() {
    super("SearchService");
    }

    @Override
    protected void onHandleIntent(Intent intent) {
    Log.d("Tag","service started");
    }

}

我在我的应用程序的主Activity中启动此服务

public class ChannelsActivity extends Activity {
   @Override
    public void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
            Intent intent = new Intent(this , SearchService.class);
            startService(intent);   
         }

我还在清单文件中定义服务属性,但它对我不起作用我不知道是什么问题

 <application
    <activity
        android:name=".ChannelsActivity"
        android:screenOrientation="landscape"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name=".SearchService"/>

</application>

我遇到了这个问题,任何帮助对我都有帮助。

1 个答案:

答案 0 :(得分:0)

您发布的代码应该有效。您是否在logcat窗口中看到调试日志“service started”?虽然听起来很愚蠢,但SearchService会立即关闭,因为没有大量的工作要做,如果这是你的目标,你就不会在运行服务中看到服务。

希望它有所帮助。