0

Ich bin neu in der Entwicklung von Android-Apps. Bitte haben Sie also Geduld mit mir. Ich schreibe eine App, die den GPS-Standort von Google Play-Diensten abruft und die Daten dann über Bluetooth überträgt. Ich habe eine LocationActivity, die den Standort erhält, und eine AdvertiseActivity, die die Daten ausstrahlt.Fehler: Symbolklasse kann nicht gefunden werden. AdvertisementActivity

Mein Problem ist, dass es mir schwer fällt, die Dateistruktur in Android-Apps zu verstehen, also vermute ich, dass mein Mangel an Verständnis ist, warum ich den Fehler bekomme.

Hier ist ein Ausschnitt aus LocationActivity, wo der Fehler ist:

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

Warum kann der Compiler nicht AdvertiseActivity.class finden? Ist etwas falsch mit meinem Manifest unten?

<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> 

Bitte helfen. Vielen Dank!

+0

Sie verwenden android.intent.action.MAIN für beide Aktivitäten, entfernen Sie eine von ihnen, es wird properly funktionieren –

Antwort

0

Sie verwenden zwei Aktivitäten wie MAIN .Von manifestieren, entfernen:

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

Von AdvertiseActivity ‚s-Aktivitäts-Tag. Hoffe das hilft.

0

Eine Anwendung kann nur eine android.intent.action.MAIN in der Startaktivität haben. In Ihrer LocationActivity, die Sie bereits definiert haben, entfernen Sie den intent-filter von AdvertiseActivity.

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

so wie seine

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

entfernen Sie diese Zeilen aus offensichtlichen

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

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

Und halten nur diese Zeile.

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