-1

ich habe zwei Klasse Register.java und fragment1.java dies Register.javaWie Call OnhandleIntent von einer anderen Klasse?

`import com.google.android.gms.gcm.GoogleCloudMessaging; 
import com.google.android.gms.iid.InstanceID; 
import java.io.IOException; 


public class RegisterApp extends IntentService { 
private static final String TAG = "RegIntentService"; 
public RegisterApp() { 
    super(TAG); 
} 


@Override 
protected void onHandleIntent(Intent intent) { 
    InstanceID instanceID = InstanceID.getInstance(this); 
    Toast.makeText(this,"inst", Toast.LENGTH_LONG).show(); 


    try { 
     String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); 
     Toast.makeText(this,"before token", Toast.LENGTH_LONG).show(); 
     Toast.makeText(this, "New token is" + token, Toast.LENGTH_LONG).show(); 
    } catch (IOException e) { 

     e.printStackTrace(); 

    } 

} 
} 

und das ist fragment.java

import com.google.android.gms.gcm.GoogleCloudMessaging; 

public class Fragment1 extends Fragment { 


EditText clg,password; 
Context ctx; 


@Override 
public View onCreateView(LayoutInflater inflater, 
     @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 

    View v =inflater.inflate(R.layout.fragment1_layout, container, false); 
     v.setBackgroundColor(Color.WHITE); 

     clg=(EditText) v.findViewById(R.id.ClgIdIn); 
     password=(EditText) v.findViewById(R.id.passwordIn); 
     Button btn=(Button) v.findViewById(R.id.btn_login); 

     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       String clgid=clg.getText().toString(); 
       String pass=password.getText().toString(); 
       String method="login"; 
       BackgroundTask BK=new BackgroundTask(getActivity()); 
       RegisterApp RA =new RegisterApp(); 


       BK.execute(method,clgid,pass); 
      // BK.sendSession(clgid,pass); 
      // getActivity().finish(); 
       Toast.makeText(getActivity(),"came here", Toast.LENGTH_LONG).show(); 
      } 
     }); 

     return v; 
} 

} 

i Methode OnhandleIntent von fragment1 anrufen möchten, aber nicht wissen, wie man es nennt, versuchte ich

startServices() 

zu verwenden, aber ich habe keine Idee, wie man Absicht übergibt.

+0

zu erklären http://stackoverflow.com/a/13007627/1537419 Hoffe, das wird Ihnen helfen .. – Srinivasan

+0

Mögliche Duplikat [wie starten Service aus Fragmenten] (http://stackoverflow.com/questions/13007355/how-to-start-service-from-fragments) –

Antwort

1
Intent i = new Intent(getActivity(), RegisterApp.class); 
getActivity().startService(i); 

Und vergessen Sie nicht, Ihren Dienst in AndroidManifest

Verwandte Themen