Android 意图服务指南

Android intentService Guidance

在花了将近整整一周的时间在网上复制和粘贴每个示例后,我开始意识到我根本不了解 serviceIntent。

我理解这个理论(我认为),只是当我尝试时它对我永远不起作用。我已经剥离了我现有的代码,只留下了问这个问题所必需的,使用 'println' 来演示一个工作示例。你们能告诉我我要去哪里错了吗?谢谢

如果重要的话,我只用AIDE。我已经检查了 AIDE 是否有关于 intentservices 的限制,但没有发现什么可说的。

MAINACTIVITY.JAVA

package com.mycompany.rns;

imports are listed here...

public class MainActivity extends Activity {

    public class MyService extends IntentService {

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

        @Override
        protected void onHandleIntent(Intent intent) {
            system.out.println("At fucking last!");
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Intent k = new Intent(this,MyService.class);
        startService(k);
    }
}

MANIFEST.XML

</activity>
<service
    android:name=".MyService"
    android:enabled="true"
    android:exported="false" />
</application>

由于 Ahmed Ewiss 给出了正确的答案,但没有创建一个我可以接受的答案,使用他的建议,这是供其他人使用的简单模板...

MAINACTIVITY.JAVA

package com.mycompany.rns;

imports are listed here...

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Intent k = new Intent(this,MyService.class);
        startService(k);
    }
}

MYSERVICE.JAVA

package com.mycompany.rns;

imports are listed here...

public class MyService extends IntentService {

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

    @Override
    protected void onHandleIntent(Intent intent) {
        system.out.println("At fucking last!");
    }
}

MAIN.XML

</activity>
<service
     android:name=".MyService"
     android:enabled="true"
     android:exported="false" />
</application>

可行的解决方案是将 MainActivity.java 文件与 Service.java 文件分开。 class 文件。