android - 服务未启动

标签 android

这对你们来说可能是一个简单的问题,但这是我第一次尝试创建一个服务,该服务应在我的应用程序关闭时在后台运行。我的问题是:当我点击“启动服务”按钮时,服务没有启动。我没有看到任何 toast ,logcat 中也没有任何内容(也没有错误)。提前致谢!

服务等级

public class MyService extends Service {
private static final String TAG = "MyService";

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onCreate");

}

@Override
public void onDestroy() {
    Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onDestroy");

}

@Override
public void onStart(Intent intent, int startid) {
    Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onStart");

}
}

我的主要 Activity

public void startServiceClick(View v){

    Log.d("foo", "onClick: starting srvice");
    startService(new Intent(this, MyService.class));
}

public void stopServiceClick(View v){

    Log.d("foo", "onClick: stopping srvice");
    stopService(new Intent(this, MyService.class));
}

list xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.johanberntsson.main"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>

<application
    android:icon="@drawable/maps1"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />
    <activity
        android:name=".LongitudeActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".DebugActivity" />
    <activity android:name=".GoogleMapsActivity" />

    <service android:enabled="true" android:name=".MyService" />

</application>

</manifest>

最佳答案

this is suggestion as all else looking fine 

应该在每个函数中调用 super,如 super.onCreate();

可能服务已经启动并尝试停止并重新启动并检查是否出现 toast ....

尝试

<service android:enabled="true" android:name="se.johanberntsson.servies.MyService" />

关于android - 服务未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11276863/

相关文章:

android - 如何使用 @bubbblewrap 构建 TWA?

安卓 1.5 : Asynctask doInBackground() not called when get() method is called

android - Gradle 和嵌套的非传递依赖

android - 为什么 bintrayUpload 无法创建版本 '0.1'? HTTP/1.1 401 未经授权

android - 在 Android 上实现推送通知的简单方法

Android Studio 说我不在 gradle build 上,但我在

android - 在登录系统 (Android) 中使用 invalidateOptionsMenu()

android - 在android中加载本地谷歌地图有什么限制吗?

java - 在android中将数据从一个文件复制到另一个文件非常慢?

android - ActionBar 中的进度条