I have an app using a tab bar host api that I found and I am trying to use it to change activities when I receive a Sms message.
The receiver that was build into this tab host is the following:
public class ChangeTabBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
int index = intent.getExtras().getInt(CURRENT_TAB_INDEX);
setCurrentTab(index);
}
}
This is defined in the ScrollableTabActivity.java, then the ScrollableTabHost extends this and is called in the bellow method when a Sms is reveived:
Intent intent2 = new Intent(context,ScrollableTabHost.class);
intent2.putExtra("CURRENT_TAB_INDEX", index);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
There is also an OnTabChanged listener build in which prints the index of the tab to the log. When i send a text from the emulator I shows that the tab was changed to index 0 twice, no matter which index I try to set it to.
I have been looking for a while and cant find why I am getting 0 instead of the index that I send.
Ok so i figured this out. Turns out I was just did not have to code setup the way the tab bar api wanted it the correct code to switch to a new activity in one of my tabs is as follows:
If anyone is wondering the api is from https://github.com/honcheng/ScrollableTabHost-for-Android
Its a pretty good tab host.