We can achieve by using handler,broadcat and Listener concept.But I think broadcast is easy to implement and understand but need to take care or register and unregister of broadcast.
USING LISTENER
Create a Listener class
public Interface Listener{
public void onResultReceived(String str);
}
Now implement it in activity like below
public class MainActivity extends Activity implements listener{
public void onResultReceived(String str){
mTitleTextView.setText(str)
}
}
Initialize your Listener by calling constructor of service from oncreate of Activity
new GCMNotificationIntentService (MainActivity.this);
Now create public constructor of your service like below
public class GCMNotificationIntentService extends IntentService {
public static Listener listener_obj;
public GCMNotificationIntentService (Listener listener)
{
listener_obj=listener;
}
Listener.onResultReceived("99999999999999999999999999999999999999999");
//send the data which should be shown on textview
USING BROADCAST
registerReceiver( mMessageReceiver, new IntentFilter("GETDATA"));
//register localbraodcast with receiver object and intent filter inside oncreate
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String str= intent.getStringExtra("DATA", "No Data");
mTitleTextView.setText(str);
}
};
ondestroy()
{
unregisterReceiver( mMessageReceiver);
}
Sending Data from service
Intent intent = new Intent("GETDATA");
intent.putExtra("DATA", "9999999");
sendBroadcast(intent)