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

Turning off backups for a single picture?

I want to take a picture and don't want it backed up to unknown places that I lose track of it. I often find that things on the web are sticky (and maybe that's why they call it the web), that they're harder to undo than to do - to close an account, cancel a membership, get your name or number off a list, to remove something that has been auto-saved or auto-backed up.

Is there a way to take a picture on our phone that you know is not backed up to some cloud account? Alternately is there a way to get listed all such services I'm using? I generally say no but I may be using one or more of the following: AT&T, Samsung Cloud or Google cloud. It becomes too much to keep track of and there's always the chance I'm using some other.

Android Studio won't run apps due to unsigned driver

I have compiled a program with Android Studio on Windows 8.1 and am trying to run it in the built-in emulator. But when I choose "Run" from the menu, I get this:
"Install Android Emulator Hypervisor Driver for AMD Processors
Intel HAXM is required to run this AVD.
Android Emulator Hypervisor Driver for AMD Processors is not installed.
Install Android Emulator Hypervisor Driver for AMD Processors for better emulation performance."

If I choose Cancel, it doesn't run the program.
If I choose OK instead, it brings up a "Installing Android Emulator Hypervisor Driver for AMD Processors" wizard, but it fails because:
"A digitally signed driver is required
Android Emulator Hypervisor Driver
Google LLC
Windows blocked the installation of a digitally unsigned driver.
Uninstall the program or device that uses the driver and check the publisher's website for a digitally signed version of the driver."

It is coming directly from Google so I don't know why it would be unsigned, nor how they would expect it to work in that case. Can anyone help? Thanks.

Help Cannot make or receive calls

Hello,

Samsung Galaxy S9 phone; Model SM-G960U1; Android 10; Service provider: Tracfone

Phone was working perfectly for months.

Yesterday I tried to dial Tracfone's access number for international calling which is 305 938 5673.
Got a message saying the number is not working and to text 611 which is the Tracfone help system.

Received a text message back saying the system confirmed my phone number as a valid Tracfone number and the text system then said it's going to check my phone settings. Something reset and now I cannot make or receive any phone calls.

One additional point, using my phone in the past I kept getting occasional notification messages saying 'we cannot connect to visual voicemail'. I never wanted that so I ignored these messages. After their system changed my phone, a display appeared on the phone which was some type of visual voicemail display. But that is not now appearing nor can I find it.

I reset the network connections; enabled the Airplane mode and disabled it; removed the SIM card and inserted it again; checked the preferred network type; checked for any system updates; and went into safe mode to check for any bad apps.

When I try and make a call the call screen displays just like for a normal phone call but never connects.

When I went to Tracfone they checked all the settings in connections; turned off wi-fi and bluetooth; confirmed that airplane mode was not on; looked at mobile networks, which is lte/cdma, checked the access point name: vzwinternet;

I removed the SIM and reinserted; gave them the last row of numbers of the SIM card: 37235; and they asked me to dial *73.

Wi-Fi is working, I can connect to the internet, I can text, cellular data indicator shows a strong sigal so I think I'm getting cellular data.

Thank you in advance for your help,

Don

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

Filter

Back
Top Bottom