Android:无法解析符号'GeofenceTransitionsIntentService'

时间:2015-06-18 14:46:34

标签: android android-manifest

我正在尝试实现添加和监控地理围栏的功能。我试图通过tutorial做到这一点,但我已经陷入了第一步。

我还检查了build.gradle,并使用了相同的compile和targetSdkVersion ...

我尝试将服务添加到我的AndroidManifest文件中,就像他们描述的那样,但不幸的是,当我添加此服务标签时,它的名称显示为红色,我收到此消息:

  

无法解析符号'GeofenceTransitionsIntentService'   验证Android XML文件中的资源引用。

enter image description here

这就是我的AndroidManifest.xml的样子

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="at.at.tuwien.hci.hciss2015">

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
    </activity>

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

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

    <activity
        android:name=".CharActivity"
        android:label="@string/title_activity_char">
    </activity>

    <activity
        android:name=".AnimationSampleActivity">
    </activity>

    <service android:name=".GeofenceTransitionsIntentService" />
</application>

是否有人知道导致此问题的原因以及如何解决?

2 个答案:

答案 0 :(得分:5)

您的GeofenceTransitionsIntentService.java文件显然没有您的root包。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="at.at.tuwien.hci.hciss2015">

您的GeofenceTransitionsIntentService.java应该以:

开头
package at.at.tuwien.hci.hciss2015;

// ...

然后您可以在AndroidManifest.xml文件中声明它:

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

此处.GeofenceTransitionsIntentService表示您的包的根目录GeofenceTransitionsIntentServiceat.at.tuwien.hci.hciss2015

答案 1 :(得分:1)

您需要服务的完整路径。将其更改为如下所示:

<service android:name="com.myproject.GeofenceTransitionsIntentService"/>

com.myproject是适当的包名称。