Я пытаюсь получить результаты обнаружения Bluetooth через apk, который работает как бегун jroid-андроида. Все работает нормально, но в то время как registerReciever я становлюсь ниже ошибки. Что может быть причиной ?Как зарегистрировать приемник вещания внутри приборов?
java.lang.SecurityException: Данный пакет абонент com.ex.test не работает в процессе ProcessRecord {d740580 19462: com.ex/u0a302}
код-
@Test
public void demo() throws Exception {
Context ctx = InstrumentationRegistry.getInstrumentation().getContext();
BluetoothAdapter mBtAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBtAdapter.isDiscovering()) {
System.out.println("Stop ongoing discovery");
mBtAdapter.cancelDiscovery();
}
System.out.println("Start fresh discovery");
mBtAdapter.startDiscovery();
DisciveryRecv dReceiver = new DisciveryRecv();
// Register for broadcasts when a device is discovered
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
ctx.registerReceiver(dReceiver, filter);
}
public class DisciveryRecv extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String dev = device.getName() + " - " + device.getAddress();
mUtils.log("Found: " + dev);
}
}
}
startDiscovery работает нормально, но в ctx.registerReceiver(dReceiver, filter);
, приложение бросает исключение.
КИП Cmd-
ADB оболочки утра инструмент -w -r -e отлаживать ложный -e класс com.ex.main # демо com.ex/android.support.test.runner.AndroidJUnitRunner
Спасибо! Как всегда, вы помогли уточнить запросы, связанные с МАУ. Даже forAndroidViewClient 4 года назад. Здесь все еще я не получаю использование 'getContext' в инструментах. не могли бы вы привести пример, где мы используем - 'InstrumentationRegistry.getContext()'. ресурсы, к которым мы можем получить доступ, даже без getContext. правильно ? – Rilwan