1

Ich möchte meine Anwendung auf GCM auf xwalkview laden, aber dort kann ich nicht auf Kontext und getInstance() von GCM in XWalkResponceClient zugreifen .Die Methode getInstance (Context) im Typ GoogleCloudMessaging ist nicht anwendbar für die Argumente (XWalkResponceClient)

@Override 
public void onLoadStarted(XWalkView view, String url) { 
    super.onLoadStarted(view, url); 
    if (TextUtils.isEmpty(regId)) { 
     regId = registerGCM(); 
     Log.d("RegisterActivity", "GCM RegId: " + regId); 
    } else { 
     Toast.makeText(getApplicationContext(), 
       "Already Registered with GCM Server!", 
       Toast.LENGTH_LONG).show(); 
    } 
} 

public String registerGCM() { 

    gcm = GoogleCloudMessaging.getInstance(this); 
    regId = getRegistrationId(context); 
    System.out.println("Inside registerGCM method"+regId); 
    if (TextUtils.isEmpty(regId)) { 

     registerInBackground(); 

     Log.d("RegisterActivity", 
       "registerGCM - successfully registered with GCM server - regId: " 
         + regId); 
    } else { 
     Toast.makeText(getApplicationContext(), 
       "RegId already available. RegId: " + regId, 
       Toast.LENGTH_LONG).show(); 
    } 
    return regId; 
} 

Antwort

0

einfach den Konstruktor XWalkResponceClient machen wie diese

Context context 
public XWalkResponceClient(Context context) 
{ 

this.context=context; 
} 

jetzt diesen Kontext passieren hier

regId = registerGCM(context); 
+0

@ Akshat-Implizite Super Konstruktor XWalkResourceClient() ist nicht definiert. Muss explizit ein anderes Konstrukt aufrufen. Der Fehler – SwagDevelopers

+0

versucht, den Kontext trotzdem an diese Aktivität oder Klasse zu übergeben. –

Verwandte Themen