2

我想为我的应用程序使用 IntentService 以在后台线程中从服务器加载数据,而不会影响或干扰应用程序活动。这是我的简单 IntentService

public class SearchService extends IntentService  {

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

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

}

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

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>

我被这个问题困住了,任何帮助都会对我有帮助。

4

1 回答 1

0

您发布的代码应该可以工作。您是否在 logcat 窗口中看到调试日志“服务已启动”?尽管这听起来很愚蠢,但 SearchService 将运行并立即关闭,因为没有大量工作要做,如果这是您的目标,您将不会在 Running Services 中看到该服务。

希望能帮助到你。

于 2012-10-22T18:20:23.877 回答