我有一个 IntentService,我想从 onCreate 开始。打电话给网站然后(可能)通过下载管理器开始下载,这是一场火灾,忘记了。我不相信我的服务正在启动,因为我没有看到任何日志语句。我的清单中有服务,与 main 相同的包。它也没有出现在我的 logcat 中(另一个线程说应该)。
创建:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Intent heartbeat = new Intent(this, Heartbeat.class);
startService(heartbeat);
}
*我也试过 this.startService(heartbeat); 它也没有工作。
显现:
<application
android:debuggable="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service android:name=".Heartbeat" android:enabled="true"/>
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
*带或不带 android:enabled 标志没有区别
IntentService 的开始:
public class Heartbeat extends IntentService
{
public Heartbeat()
{
super("Heartbeat");
Log.v("SUPER", "SUPER");
}
@Override
protected void onHandleIntent(Intent intent)
{
Log.v("HERE", "HERE");
//do other stuff
这些日志语句都没有出现在控制台/logcat 中,并且我的服务从未访问过 Web 服务器(此代码以前在 asynctask 中并且正在运行)。关于我做错了什么的任何想法?
编辑 - 我确实在我的所有消息中看到来自标签 ActivityManager 的警告,指出“无法启动服务 Intent { act=com.example.vs_1.Heartbeat }:未找到”。但是,我在该消息中看到的几乎所有建议都是将清单放入应用程序标记中,我已经这样做了。