Вот мой пример: сначала пользователь должен написать номер, который он хочет набрать, а затем нажимает кнопку вызова и направляется на телефон. После отмены вызова пользователь отправляется обратно в приложение. Для этого кнопка должна иметь метод onClick («makePhoneCall» в этом примере) в xml. Вам также необходимо зарегистрировать разрешение в манифесте.
Манифест
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Активность
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class PhoneCall extends Activity {
EditText phoneTo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phone_call);
phoneTo = (EditText) findViewById(R.id.phoneNumber);
}
public void makePhoneCall(View view) {
try {
String number = phoneTo.getText().toString();
Intent phoneIntent = new Intent(Intent.ACTION_CALL);
phoneIntent.setData(Uri.parse("tel:"+ number));
startActivity(phoneIntent);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(PhoneCall.this,
"Call failed, please try again later!", Toast.LENGTH_SHORT).show();
}
}
}
XML
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"
android:ems="10"
android:id="@+id/phoneNumber"
android:layout_marginTop="67dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Call"
android:id="@+id/makePhoneCall"
android:onClick="makePhoneCall"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
Итак, вам необходимо убедиться, что вы используете загрузочную версию 2.1.x, так как загрузка слияния существенно улучшилась, и мы являемся потребителями этого улучшения. Кроме того, правильное имя свойства должно быть spring.cloud.stream.rabbit.default...
Например, вот рабочая конфигурация:
spring.cloud.stream.default.group=myGroup
spring.cloud.stream.bindings.input1.destination=myDestination
spring.cloud.stream.rabbit.default.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.default.consumer.dead-letter-queue-name=myDlx
Вероятно, нам нужно пояснить это немного больше в документации