Я разрабатываю программу в VB.NET, которая будет синхронизировать устройство Android через USB.
На самом деле программа отправляет некоторую передачу, которая сообщает устройству, что синхронизация была запущена, затем извлекаетфайл и удаление его с устройства.
Проблема в том, что если я позвоню
adb shell am broadcast -a xx.xxx.xxxx.android.action.broadcast --es sync ""SYNC""
В любом случае, даже если BroadcastReceiver
еще не был зарегистрирован в приложении или дажеесли приложение закрыто, верните
Broadcasting: Intent { act=xx.xxx.xxxx.android.action.broacast pkg=WE (has extras) }
Broadcast completed: result=0
Так что мне нужно убедиться, что пользователь получил это широковещательное сообщение, чтобы можно было каким-то образом отправить сообщение «return» на adb, когда устройство получило широковещательную передачу.?
вот мой BroadcastReceiver
метод
private final BroadcastReceiver adbReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
if (extras.getString("sync") != null) {
if (Alerts.dialogSync.isShowing()){
Alerts.txtSync.setTextColor(Color.parseColor("#E91E63"));
Alerts.txtSync.setText("Sincronizzo..");
Alerts.syncProgress.setColor(Color.parseColor("#E91E63"));
Alerts.close.setVisibility(View.GONE);
}
}else if (extras.getString("endsync") != null) {
Alerts.dialogSync.dismiss();
alertDeleteFile();
unregisterReceiver(adbReceiver);
}
}
}
};