Help Verizon messages on galaxy watch
- By rcyphermd
- VIP Lounge
- 11 Replies
How do you get the Verizon messages app on the Samsung watch? Thanks for your help
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
class TransferThread extends Thread {
private static final String TAG = "MainActivity";
private static int TIMEOUT = 5000;
private static int BUFFER_LENGTH = 32768;
private byte[] buffer = new byte[BUFFER_LENGTH];
UsbDeviceConnection connection;
UsbEndpoint endpoint;
TransferThread(UsbDeviceConnection connection, UsbEndpoint endpoint) {
this.connection = connection;
this.endpoint = endpoint;
}
public void run() {
Log.v(TAG, "New thread started");
UsbRequest usbRequest = new UsbRequest();
if(usbRequest.initialize(connection, endpoint)) {
Log.v(TAG, "USB request successfully initialised");
}
final ByteBuffer byteBuffer = ByteBuffer.allocate(BUFFER_LENGTH);
if(usbRequest.queue(byteBuffer)) {
Log.v(TAG, "USB request successfully queued");
}
if(connection.requestWait() == usbRequest) {
Log.v(TAG, "Successfully returned USB request result");
Log.v(TAG, "Has array: " + byteBuffer.hasArray());
Log.v(TAG, "Data: " + Arrays.toString(byteBuffer.array()));
Log.v(TAG, "Data: " + byteBuffer.toString());
}
else {
Log.v(TAG, "Failed to return USB request");
}
Log.v(TAG, "byteBuffer.ToString(): " + byteBuffer.toString());
/* int numBytesTransferred = connection.bulkTransfer(endpoint, buffer, buffer.length, TIMEOUT);
if(numBytesTransferred >= 0) {
Log.v(TAG, "Bulk transfer successful");
}
else {
Log.v(TAG, "Bulk transfer failed");
}*/
}
}
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";
private final BroadcastReceiver usbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)) {
synchronized (this) {
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) {
if(device != null){
Log.v(TAG,"Permission granted for device");
}
}
else {
Log.d(TAG, "permission denied for device " + device);
}
}
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v(TAG, "Running Main activity onCreate");
// Enumerate USB devices
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Log.v(TAG, String.format("%d device(s) found by UsbManager", deviceList.size()));
for (HashMap.Entry<String, UsbDevice> entry : deviceList.entrySet()) {
String key = entry.getKey();
Log.v(TAG, "Device name: " + key);
}
UsbDevice device = deviceList.get("/dev/bus/usb/002/002");
Log.v(TAG, "Device info: " + device.toString());
Log.v(TAG, String.format("Device has %d configuration(s)", device.getConfigurationCount()));
Log.v(TAG, String.format("Device has %d interface(s)", device.getInterfaceCount()));
// Obtain permission to communicate with a device
PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), PendingIntent.FLAG_MUTABLE);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
registerReceiver(usbReceiver, filter);
manager.requestPermission(device, permissionIntent);
int interfaceNumber = 0;
int endpointNumber = 0;
UsbInterface usbInterface = device.getInterface(interfaceNumber);
Log.v(TAG, String.format("Got interface %d", interfaceNumber));
Log.v(TAG, "Interface name: " + usbInterface.getName());
Log.v(TAG, "Interface class: Vendor specific " + usbInterface.getInterfaceClass());
UsbEndpoint endpoint = usbInterface.getEndpoint(endpointNumber);
Log.v(TAG, String.format("Got endpoint %d", endpointNumber));
int endpointType = endpoint.getType();
if(endpointType == UsbConstants.USB_ENDPOINT_XFER_CONTROL) {
Log.v(TAG, "Endpoint type: endpoint zero");
}
if(endpointType == UsbConstants.USB_ENDPOINT_XFER_ISOC) {
Log.v(TAG, "Endpoint type: isochronous endpoint");
}
if(endpointType == UsbConstants.USB_ENDPOINT_XFER_BULK) {
Log.v(TAG, "Endpoint type: bulk endpoint");
}
if(endpointType == UsbConstants.USB_ENDPOINT_XFER_INT) {
Log.v(TAG, "Endpoint type: interrupt endpoint");
}
int endpointDir = endpoint.getDirection();
if(endpointDir == UsbConstants.USB_DIR_IN) {
Log.v(TAG, "Endpoint direction: IN (device to host)");
}
if(endpointDir == UsbConstants.USB_DIR_OUT) {
Log.v(TAG, "Endpoint direction: OUT (host to device)");
}
UsbDeviceConnection connection = manager.openDevice(device);
connection.claimInterface(usbInterface, true);
TransferThread thread = new TransferThread(connection, endpoint);
thread.start();
}
}
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCallback;
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.bluetooth.BluetoothManager;
import android.bluetooth.BluetoothProfile;
import android.bluetooth.le.BluetoothLeScanner;
import android.bluetooth.le.ScanCallback;
import android.bluetooth.le.ScanFilter;
import android.bluetooth.le.ScanResult;
import android.bluetooth.le.ScanSettings;
import android.content.Context;
import android.os.ParcelUuid;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class BLEConnection {
private BluetoothAdapter mBluetoothAdapter;
private BluetoothLeScanner mBluetoothLeScanner;
private String mTargetDeviceAddress;
private boolean mScanning;
private BLEConnectionListener mListener;
private BluetoothGatt mBluetoothGatt;
private Context mContext;
private BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
// This callback is invoked when the connection state changes, e.g. from disconnected to connected.
if (newState == BluetoothProfile.STATE_CONNECTED) {
Log.e("bleee", "connected ");
} else if (newState == BluetoothProfile.STATE_DISCONNECTED) {
Log.e("bleee", "disconected");
}
}
};
private ScanCallback mScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) { // This callback is invoked when a BLE advertisement is found.
Log.e("bleee", "scan result");
BluetoothDevice device = result.getDevice();
if (device.getAddress().equals(mTargetDeviceAddress)) {
Log.e("bleee", "device found 1");
mBluetoothLeScanner.stopScan(mScanCallback);
mScanning = false;
mListener.onDeviceFound(device);
}
}
@Override
public void onBatchScanResults(List<ScanResult> results) { // This callback is invoked when multiple BLE advertisements are found at once.
Log.e("bleee", "scan result multiple");
for (ScanResult result : results) {
BluetoothDevice device = result.getDevice();
if (device.getAddress().equals(mTargetDeviceAddress)) {
Log.e("bleee", "batch scan multiple");
mBluetoothLeScanner.stopScan(mScanCallback);
mScanning = false;
mListener.onDeviceFound(device);
break;
}
}
}
@Override
public void onScanFailed(int errorCode) {
Log.e("bleee", "scan failed 1");
mScanning = false;
mListener.onScanFailed(errorCode);
}
};
public BLEConnection(Context context, String targetDeviceAddress, BLEConnectionListener listener) {
mTargetDeviceAddress = targetDeviceAddress;
mListener = listener;
BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner();
}
public void startScan() {
Log.e("bleee", "starting scan..................");
if (mScanning) {
return;
}
List<ScanFilter> filters = new ArrayList<>();
ScanFilter filter = new ScanFilter.Builder()
.setDeviceAddress(mTargetDeviceAddress)
.build();
filters.add(filter);
ScanSettings settings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)
.setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
.setMatchMode(ScanSettings.MATCH_MODE_AGGRESSIVE)
.setNumOfMatches(ScanSettings.MATCH_NUM_ONE_ADVERTISEMENT)
.setReportDelay(0L)
.build();
mBluetoothLeScanner.startScan(filters, settings, mScanCallback);
mScanning = true;
Log.e("bleee", "finished?");
}
public void stopScan() {
Log.e("bleee", "something stopped the scan");
if (mScanning) {
mBluetoothLeScanner.stopScan(mScanCallback);
mScanning = false;
}
}
public void writeMessage(byte[] message) {
Log.e("bleee", "writing message...............");
if (mBluetoothGatt == null) {
return;
}
BluetoothGattService service = mBluetoothGatt.getService(UUID.fromString("4fafc201-1fb5-459e-8fcc-c5c9c331914b"));
if (service == null) {
return;
}
BluetoothGattCharacteristic characteristic = service.getCharacteristic(UUID.fromString("beb5483e-36e1-4688-b7f5-ea07361b26a8"));
if (characteristic == null) {
return;
}
characteristic.setValue(message);
mBluetoothGatt.writeCharacteristic(characteristic);
}
public interface BLEConnectionListener {
void onDeviceFound(BluetoothDevice device);
void onScanFailed(int errorCode);
}
public void connectToDevice(BluetoothDevice device) {
Log.e("bleee", "Trying connecting");
mBluetoothGatt = device.connectGatt(mContext, false, mGattCallback);
}
public void disconnectFromDevice() {
if (mBluetoothGatt != null) {
mBluetoothGatt.disconnect();
mBluetoothGatt.close();
mBluetoothGatt = null;
}
}
}
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCallback;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.IBinder;
import android.util.Log;
//import com.welie.blessed.*;
public class SendNotifyService extends Service implements BLEConnection.BLEConnectionListener {
private volatile boolean shouldStopThread;
private volatile boolean oksend = false;
private String ESP32_MAC_ADDRESS = "84:F7:03:68:06:52";
private BLEConnection mBLEConnection;
public SendNotifyService() {}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
shouldStopThread = false;
mBLEConnection = new BLEConnection(this, ESP32_MAC_ADDRESS, this);
// Start scanning for the device
mBLEConnection.startScan();
new Thread(new Runnable() {
@Override
public void run() {
while (!shouldStopThread) {
//-----------------------------------------------------------------------------------------------------
if(oksend == true){
byte[] message = "Hello, device!".getBytes();
mBLEConnection.writeMessage(message);
}
Log.e("Service Ard_OS", "Service is running...");
Log.e("Service Ard_OS", mac);
pause(4000);
//-----------------------------------------------------------------------------------------------------
}}
public void pause(int millis){ try { Thread.sleep(millis); } catch (InterruptedException e) { e.printStackTrace(); } }
}).start();
return START_STICKY;
}
@Override
public void onDeviceFound(BluetoothDevice device) {
Log.e("bleee", "device found 2");
oksend = true;
mBLEConnection.connectToDevice(device);
}
@Override
public void onScanFailed(int errorCode) {
Log.e("bleee", "scan failed, i think...");
}
}
So the problem is that i don't get nothing else, not in the BluetoothGattCallback and not even in the ScanCallback. It doesn't connect to the device... If I was not clear about something I will answer!------------------ PROCESS STARTED (9353) for package com.example.ard_os ------------------
2023-01-03 22:52:02.993 9353-9353 bleee com.example.ard_os E starting scan..................
2023-01-03 22:52:03.012 9353-9353 bleee com.example.ard_os E finished?