• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

WeChat blocking issue

Why is there a business in buying and selling WeChat accounts. If WeChat is as fragile and prone to blocking as it appears to be, and support so useless, isn't there a risk that a purchased WeChat account would be quickly blocked ? I am very new to WeChat. I managed to get my account blocked after only a few messages, have no idea why, the official documentation is impossible to comprehend, and I cannot get it unlocked. I only have one WeChat friend in Australia and she does not understand the unlock instructions. Multiple requests to WeChat support on the correct form have all been ignored. Is there a trick to get support ?

Help Photos greyed out in apps besides Photos and Files

Hi everyone,

Since a while I've been having a problem that apps besides Photos andF Files cannot seem to access photos. When I open the gallery through e.g. Instagram, I can only see the 3 or so most recent pictures, the rest are just grey.

I can go to the photo's app and chose share to send the picture to Instagram, although this is a hassle and I'd rather have everything working as it should.

I'm running Android 11 on a Nokia 8.1

Cannot read serial data using USB Host

Hi all,

I am trying to read serial data from a USB device using my Samsung phone as the host. I have followed the USB Host Overview tutorial closely but I cannot get any data from the device. I am performing async read using UsbRequest as the device is continually streaming data I would like to read.

My code:
Java:
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();
    }
}

Using endpoint 0 (interrupt type) I get the following data when I run the code:
[GALLERY=media, 1809]Results by casjkent2 posted Jan 4, 2023 at 7:34 PM[/GALLERY]

I'm not sure if I'm using requestWait incorrectly or if I'm using the wrong endpoint or some other setting. Anyb help would be appreciated, thanks!

Bluetooth scanning and connecting android studio

Hi,
I'm new in this forum so I don't know if i'm in the correct section...
I created this class named BLEConnection becuase i'm tring to connect to a esp32 via BLE but i'm having some problem in the connection part... the class:
Code:
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;
        }
    }

}

please ignore that android studio thinks that some code is an error (because could not be safe and could crash if Bluetooth is not enable, but i'll skip for now this).

So now, I have a service that is this (eliminated useless method for my problem):
Code:
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...");
    }
}

Now it comes the problem:
Obviously I'm using a real phone (samsung galaxy a20e) that runs API 30.
When I start the Service in the LOGCAT using the filter "bleee" i can only see theese two debug message:
------------------ 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?
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!

Thanks to everyone.

Do you know this game?

Hello, I would like to find a game but I can't remember the name, maybe one of you might know. The game could be played in the google browser, I played it as a child. I found that game creepy and I didn't finish it all the way through, so I don't know much about it. There was a girl in the game and I think a boy too and they were given some task to go explore some area. I remember playing as a girl and exploring a cave and a village where people were and when they saw me they grabbed me. Maybe this game have next parts. It was very similar to the Scooby Doo Adventures games.

Make Windows 11 PC auto accept bluetooth transfers?

Since Windows 8, the ability to auto receive files over bluetooth has gone. Any way to fix this?

Now before someone says "that would be insecure", I am not asking for it to just accept therm. But at the moment it doesn't even prompt me! My Android 11 phone, if a bluetooth file is sent to it, it asks if I want to receive it. Windows just remains silent, I have to actually tell it to be ready to receive a file every time.

Accessories Samsung Galaxy - Try again in 17 minutes..

I tried to swipe the screen of my phone today and it told me that the password was wrong. I kept trying...after a couple of times it said "try again in 3 minutes"...then 6 minutes...then 9 minutes...now it is up to 17 minutes. I am sure that I am swiping the correct pattern. Does anyone have any idea how this happened? I don't want to hard reset it unless I have no other choice. Is there a virus that might do this?

Most popular online challenges App for your friends and family

Creteng is a free and fun application that allows users to connect with friends and find creative ways to challenge them. Users can challenge and be challenged by using pictures or videos. All posts and videos can be either private or public and features like "comments" and "likes" are available. Views are also counted for all videos and can use and share their location through the app. Creteng is a unique app because it offers everyone the chance to show their talents and express their opinions by competing through interesting and fun activities and experiences.

Creteng Android App

Help Text not sending to one single phone number

Hi guys! Quick rundown of what's going on; after years of not being able to text my grandmother I'm finally seeking help figuring this out.

1. I have a Fold 4, Grandma has an iphone (not sure which one)
2. When I text her I get a failure to send message (in both samsung and google's messaging app)
2a. When she sends me a message she also gets a not delivered message
3. Neither of our numbers are in blocked numbers categories
4. Both of us deleted each others contacts and re-entered the numbers. Calls go through fine.
5. Send SMS is check on, on the iphone. Network reset was done
6. Android messaging apps caches are cleared.
7. Imessage was confirmed to not be registered to my phone number.

Any solutions?

head unit not power on

Hello friends,
Today I received the multimedia system that I ordered from AliExpress and of course the frame did not arrive compatible with the car (as I was promised),
But I improvised and managed to overcome it,
The problem is that I connect all the cables properly and the system just does not turn on,
Maybe I'm missing something and I don't know? I even tried replacing the fuse, but nothing.
In the video you can see everything, although in the video I only connect the power cable, but before that I tried with everything... the system should turn on even when nothing is connected except the power cable, right?
I would appreciate your help because I am at a loss and the seller is not really helpful..

video-

Attachments

  • ae_1672409412461.jpg
    ae_1672409412461.jpg
    889.1 KB · Views: 511
  • 20230101_124708.jpg
    20230101_124708.jpg
    747.5 KB · Views: 352
  • 20230101_124647.jpg
    20230101_124647.jpg
    628 KB · Views: 387

Filter

Back
Top Bottom