Я пытаюсь передать Intent из сервиса в MainActivity в BroadcastReciver, но либо интент не передается, либо BroadcastReciver его не принимает. Ниже код Activity где я должен получать intent
final String LOG_TAG = "myLogs";
public final static String PARAM_SRVRESP = "srvresp";
public final static String PARAM_GTOKEN = "task";
BroadcastReceiver br;
public final static String BROADCAST_ACTION = "com.catsoftdevelopment.servicetest";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bindService(new Intent(MainActivity.this, MyTestService.class), sConn, Context.BIND_AUTO_CREATE);
Log.d(LOG_TAG, "BroadCast Reciever created");
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
br = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String gtoken = intent.getStringExtra(PARAM_GTOKEN);
String srvresp = intent.getStringExtra(PARAM_SRVRESP);
Log.d(LOG_TAG, "onReceive: srvresp = " + srvresp + ", gtoken = " + gtoken);
if (intent.getAction()==Intent.ACTION_MAIN){
Log.d(LOG_TAG, "onReceive: srvresp = " + srvresp + ", gtoken = " + gtoken);
}
}
};
IntentFilter intFilt = new IntentFilter(BROADCAST_ACTION);
registerReceiver(br, intFilt);
}
protected void onDestroy() {
unbindService(sConn);
super.onDestroy();
}
boolean bound = false;
MyTestService myTestService;
ServiceConnection sConn = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder binder) {
Log.d(LOG_TAG, "MainActivity onServiceConnected");
MyTestService.MyTestBinder mybinder = (MyTestService.MyTestBinder) binder;
myTestService = mybinder.getService();
bound = true;
}
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "MainActivity onServiceDisconnected");
bound = false;
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Service откуда я передаю intent
public class FcmTokenRegistrationService extends IntentService {
public FcmTokenRegistrationService() {
super("FcmTokenRegistrationService");
}
@Override
protected void onHandleIntent(Intent intent) {
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Logg.d("Firebase getInstanceId failed " + task.getException());
return;
}
// Get new Instance ID token
String token = task.getResult().getToken();
//MainActivity.GetNewGtoken(token);
Logg.d("Firebase registrationToken=" + token);
Intent gtokintent; = new Intent();
gtokintent.setAction(Intent.ACTION_MAIN);
gtokintent.putExtra(MainActivity.PARAM_GTOKEN, token);
sendBroadcast(gtokintent);
}
});
}
}
Если шагать в дебаге эти строки почему-то не выполняются
Intent gtokintent; = new Intent();
gtokintent.setAction(Intent.ACTION_MAIN);
gtokintent.putExtra(MainActivity.PARAM_GTOKEN, token);
со строки Logg.d("Firebase registrationToken=" + token);
сразу перепрыгивает на sendBroadcast(gtokintent);
Решил проблему, проблема крылась в глюке AndroidStudio, переоткрыл студию, сделал Rebuild проекта и все пошло! Спасибо за комментарии
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я пытаюсь вставить Admob рекламу в пустое приложение Android StudioЯ пытался как подключать проект к firebase самостоятельно, так и делать это через кнопку...
делаю чат на java, но столкнулся с ошибкой и не понимаю, как ее решитьОшибка:
В флекс каталоге есть меню и товары, как закрепить меню в правом верхнем углу так, чтобы товары обтекали его слева и снизу? https://jsfiddlenet/4roj2ced/