错误:找不到符号类AdvertiseActivity

时间:2017-03-17 06:10:21

标签: java android android-intent android-activity android-manifest

我是Android应用开发的新手,所以请耐心等待我。我正在编写一个应用程序,从Google Play服务获取GPS位置,然后通过蓝牙广播数据。我有一个获取位置的 LocationActivity ,以及一个广播数据的 AdvertiseActivity

我的问题是我很难理解Android应用中的文件结构,所以我怀疑我缺乏理解是我收到错误的原因。

以下是 LocationActivity 的片段,其中错误为:

@Override
public void onLocationReceived(Location location) {
    Intent i = new Intent(LocationActivity.this, AdvertiseActivity.class) //problem is here
            .putExtra("latitude", location.getLatitude());
    startActivity(i);
}

为什么编译器无法找到AdvertiseActivity.class?我的清单下面有问题吗?

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="AllowBackup,GoogleAppIndexingWarning">
    <activity android:name="com.android.app.LocationActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.android.app.AdvertiseActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

请帮忙。谢谢!

3 个答案:

答案 0 :(得分:0)

您正在使用两项活动 MAIN 。从清单中删除:

<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.DEFAULT" />

来自AdvertiseActivity的活动代码。希望这会有所帮助。

答案 1 :(得分:0)

应用程序在启动活动中只能有一个android.intent.action.MAIN。在您已定义的LocationActivity中,从广告活动中删除intent-filter。

   <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

所以就像

<activity android:name="com.android.app.AdvertiseActivity"/>

答案 2 :(得分:0)

从清单

中删除这些行
     <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

并且只保留这一行。

<activity android:name="com.android.app.AdvertiseActivity"/>