Как принять полученный блютуз файл в приложении Android?

Я хотел бы реализовать приложение дляreceive a file from a Bluetooth device.

Перед получением будет подано уведомление о принятии входящего запроса файла.

Оттуда я хотел бы активировать & quot; принять & quot; и загружать файл автоматически, не вызывая диалоговое окно принятия, когда пользователь получает второй файл от другого сопряженного устройства Bluetooth, без нарушения уведомления, когда пользователь запускает приложение.

 Niko11 апр. 2012 г., 12:01
Проверьте, помогает ли это:stackoverflow.com/questions/6483758/…

Ответы на вопрос(3)

Решение Вопроса

Я разработал приложение, которое включает в себя такие задачи, и вы можете использоватьBluetoothChat example. You must set the secure flag to false: ` boolean secure = false;

        try {
            if (secure) {
                tmp = mAdapter.listenUsingRfcommWithServiceRecord(NAME_SECURE,
                    MY_UUID_SECURE);
            } else {
                tmp = mAdapter.listenUsingInsecureRfcommWithServiceRecord(
                        NAME_INSECURE, MY_UUID_INSECURE);
            }
        } catch (IOException e) {
            Log.e(TAG, "Socket Type: " + mSocketType + "listen() failed", e);

        mmServerSocket = tmp;
    }`

А затем прочитайте буфер из InputStream, который вы можете найти в ConnectedThread:

while (true) {
            try {

                bytes = mmInStream.read(buffer);
                 /*write bytes in a file*/


            } catch (IOException e) {
                Log.e(TAG, "disconnected", e);
                connectionLost();

                BluetoothChatService.this.start();
                break;
            }
        }
 12 окт. 2018 г., 09:44
@Gelvis Вам нужно убить системный сервис, который в первую очередь принимает соединение.
 29 окт. 2013 г., 21:31
Это не работает с Android 4.0

ON ROOTED DEVICES, Вы можете просто установить только два приложения на свой телефон, чтобы достичь своей цели.

XPosed Installer Auto-Accept

Таким образом вы подключаете Системный сервис.

import android.util.*;
import de.robv.android.xposed.*;
import de.robv.android.xposed.callbacks.XC_LoadPackage.*;

import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;

public class Tutorial implements IXposedHookLoadPackage
{

    private String TAG="TUTORIAL";
    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
        if (!lpparam.packageName.equals("com.android.bluetooth"))
        {
            Log.i(TAG,"Not: "+lpparam.packageName);
            return;
        }
        Log.i(TAG,"Yes "+lpparam.packageName);  

        findAndHookMethod("com.android.bluetooth.opp.BluetoothOppManager", lpparam.classLoader, "isWhitelisted", String.class,new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    Log.v(TAG,"HOOK DONE");
                    param.setResult(true); /* you can compare the sender address(String) with your computer and determine if you return true or just allow the original method to be called after this returns.*/

                }
            });

    }
}

Для получения дополнительной информации, пожалуйста, посетитемой ответ в ТАК.

Я выложу здесь несколько прямых ссылок.

Links

Ссылка Dropbox на приложение автоматического принятия

Dropbox ссылка на файлы проекта (zip)

Xposed apk site

Сайт Towelroot для рутинга вашего телефона

Auto-Accept github хранилище

Вы можете попробовать использоватьРазъем Bluetooth соединение для установки клиент-серверного TCP-соединения.

Ваш ответ на вопрос