2016-12-26 2 views
0

haben Fehler bauen für Probe unter:android api 23 startActivity Fehler

public class BootReceiver extends BroadcastReceiver { 

public BootReceiver() { 
} 

@Override 
public void onReceive(final Context mContext, Intent intent) { 
    if(intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)){ 
     final Intent l = new Intent(); 
     l.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     l.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
     l.setComponent(new ComponentName(this.getClass().getName(), MainActivity.class.getName())); 
     mContext.getApplicationContext().startActivity(l); 
    } 
} 
} 

Rundfunkempfänger in AndroidManifest.xml innerhalb Tag wie folgt erklärt:

<receiver 
     android:name=".BootReceiver" 
     android:enabled="true" 
     android:exported="true"> 
     <intent-filter > 
      <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     </intent-filter> 
    </receiver> 

build.gradle ist wie folgt aussieht:

anwenden Plugin: 'com.android.application'

android { 
compileSdkVersion 23 
buildToolsVersion '25.0.2' 
defaultConfig { 
    minSdkVersion 23 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

    } 
    debug { 

    } 
} 
productFlavors { 
} 
} 

dependencies { 
    compile 'com.android.support:leanback-v17:23.2.1' 
    compile 'com.android.support:preference-leanback-v17:23.2.1' 
} 

aber nach sauberem Projekt wird jeder Versuch machen, gefolgt von:

Error:(38, 37) error: cannot find symbol method startActivity(Intent) 

Android Studio aktuelle stabile Version verwenden. wurde versucht, Workstation und Studio (einschließlich Cache-Invalidierung) neu zu starten, Plattform neu zu installieren, zur Beta Studio-Version wechseln, aber dasselbe Ergebnis haben.

wird für alle Vorschläge für dieses Problem zu schätzen wissen. So etwas habe ich noch nie gesehen.

+0

Warum verwenden Sie 'mContext.getApplicationContext(). StartActivity (l);'? anstelle von 'mContext.startActivity (l);' –

+0

, weil ich 'mContext.startActivity (l);' zuerst mit dem gleichen Fehler wie das Ergebnis ausprobiert habe. also fange ich an, an Magie zu glauben und versuche, etwas "magischen Staub" zu benutzen, um mein Problem zu lösen. leider ohne Glück. – bershadskiy

Antwort

0

seien Sie ruhig und schauen Sie sich den gesamten Projektcode an. Ich finde ein Duplikat der Klasse android.content.Context in der Baumstruktur des lokalen Projekts. Und es gab keine startActivity Methode.

Duplikat wurde hinzugefügt, um auf verborgene/nur Systemklassenfelder/Methoden ohne Java-Reflektion zuzugreifen. es tut mir sehr sehr leid.

Verwandte Themen