use of com.backendless.messaging.PublishOptions in project Android-SDK by Backendless.
the class ChatActivity method onCreate.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat);
final String name = getIntent().getStringExtra(Defaults.NAME_TAG);
final EditText historyField = (EditText) findViewById(R.id.historyField);
final EditText messageField = (EditText) findViewById(R.id.messageField);
Backendless.initApp(this, Defaults.APPLICATION_ID, Defaults.SECRET_KEY, Defaults.VERSION);
Backendless.Messaging.subscribe(Defaults.CHANNEL_NAME, new AsyncCallback<List<Message>>() {
@Override
public void handleResponse(List<Message> response) {
for (Message message : response) historyField.setText(message.getPublisherId() + ": " + message.getData() + "\n" + historyField.getText());
}
@Override
public void handleFault(BackendlessFault fault) {
Toast.makeText(ChatActivity.this, fault.getMessage(), Toast.LENGTH_SHORT).show();
}
}, new AsyncCallback<Subscription>() {
@Override
public void handleResponse(Subscription response) {
subscription = response;
}
@Override
public void handleFault(BackendlessFault fault) {
Toast.makeText(ChatActivity.this, fault.getMessage(), Toast.LENGTH_SHORT).show();
}
});
messageField.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if (keyCode == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_UP) {
String message = messageField.getText().toString();
if (message == null || message.equals(""))
return true;
final ProgressDialog progressDialog = ProgressDialog.show(ChatActivity.this, "", "Sending", true);
Backendless.Messaging.publish(Defaults.CHANNEL_NAME, message, new PublishOptions(name), new AsyncCallback<MessageStatus>() {
@Override
public void handleResponse(MessageStatus response) {
progressDialog.cancel();
messageField.setText("");
}
@Override
public void handleFault(BackendlessFault fault) {
progressDialog.cancel();
Toast.makeText(ChatActivity.this, fault.getMessage(), Toast.LENGTH_SHORT).show();
}
});
return true;
}
return false;
}
});
}
use of com.backendless.messaging.PublishOptions in project Android-SDK by Backendless.
the class PushActivity method onCreate.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.push);
historyField = (TextView) findViewById(R.id.historyField);
messageField = (EditText) findViewById(R.id.messageField);
forceNotify = (CheckBox) findViewById(R.id.forceNotify);
handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
if (!(message.obj instanceof Error))
historyField.setText(message.obj + "\n" + historyField.getText());
else
MainActivity.showAlert(PushActivity.this, ((Error) message.obj).getMessage());
return true;
}
});
findViewById(R.id.sendButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = messageField.getText().toString();
if (message == null || message.equals(""))
return;
final ProgressDialog progressDialog = ProgressDialog.show(PushActivity.this, "", "Sending push message", true);
DeliveryOptions deliveryOptions = new DeliveryOptions();
deliveryOptions.setPushBroadcast(PushBroadcastMask.ALL);
PublishOptions publishOptions = new PublishOptions();
if (forceNotify.isChecked()) {
publishOptions.putHeader(PublishOptions.ANDROID_TICKER_TEXT_TAG, getString(R.string.app_name));
publishOptions.putHeader(PublishOptions.ANDROID_CONTENT_TITLE_TAG, getString(R.string.app_name));
publishOptions.putHeader(PublishOptions.ANDROID_CONTENT_TEXT_TAG, message);
}
Backendless.Messaging.publish(Defaults.CHANNEL_NAME, message, publishOptions, deliveryOptions, new BackendlessCallback<MessageStatus>() {
@Override
public void handleResponse(MessageStatus response) {
progressDialog.cancel();
messageField.setText("");
}
@Override
public void handleFault(BackendlessFault fault) {
progressDialog.cancel();
Toast.makeText(PushActivity.this, fault.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
});
findViewById(R.id.unregisterButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Backendless.Messaging.unregisterDevice();
setResult(RESULT_OK, new Intent());
finish();
}
});
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}
Aggregations