Выставлен за пределы приложения через clydata.item.geturi ()Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Выставлен за пределы приложения через clydata.item.geturi ()

Сообщение Anonymous »

Моя версия API - 24 < /p>

Я использую камеру и Bluetooth. И мое устройство передает другое устройство. < /p>

Первая функция - я собираюсь вызвать приложение камеры из моего приложения, сфотографировать и отправить его на другое устройство. < /p>

Вторая функция - я хочу импортировать файл, который я хочу отправить, и отправить его на другое устройство через Bluetooth. < /p>

Эти два можно запустить в разных проектах, но два не могут быть выполнены в одном проекте. : file: //sdcard/download/example.txt ensucted apply через applydata.item.geturi () "

Я помесчу кусок кода. < /p>

cameraActivity.class

Код: Выделить всё

private void sendTakePhotoIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File
}

if (photoFile != null) {
photoUri = FileProvider.getUriForFile(this, getPackageName(), photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);

}
}
}
< /code>

[b] bluetooth.class[/b]

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == DISCOVER_DURATION && requestCode == REQUEST_BLU) {
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.setType("*/*");
File file = new File(exist);

i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));

PackageManager pm = getPackageManager();
List list = pm.queryIntentActivities(i, 0);
if (list.size() > 0) {
String packageName = null;
String className = null;
boolean found = false;

for (ResolveInfo info : list) {
packageName = info.activityInfo.packageName;
if (packageName.equals("com.android.bluetooth")) {
className = info.activityInfo.name;
found = true;
break;
}
}

if (!found) {
Toast.makeText(this, "Bluetooth not been found", Toast.LENGTH_LONG).show();
} else {
i.setClassName(packageName, className);
startActivity(i);
}
}
} else {
Toast.makeText(this, "Bluetooth is cancelled", Toast.LENGTH_LONG).show();
}
}
< /code>

[b] manifests.xml - Provider < /strong> < /p>


        android:name="android.support.v4.content.FileProvider"
android:authorities="com.tech.www.communicatever_110"
android:exported="false"
android:grantUriPermissions="true">


res/xml/file_paths.xml[/b]



< /code>

< /p>

Если вам нужно больше кода, пожалуйста, запросите его. < /p>

Подробнее здесь: https://stackoverflow.com/questions/550 ... tem-geturi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»