Хотелось бы реализовать функцию «скриншот» и «поделиться» в своем приложении для Android, но ошибка бросания

Я создаю приложение для Android и хотел бы реализовать функцию «скриншот» и «поделиться» в приложении для Android во время щелчка на кнопке совместного доступа.

Но во время работы он бросает следующую ошибку и ничего не происходит при нажатии кнопки. Пожалуйста помоги !

Ошибка При попытке загрузить учетные данные: java.lang. Открытый класс ShareActivity расширяет MainActivity { Button share ; Файл imagePath ; @Override public void onCreate ( Bundle savedInstanceState ) { супер . onCreate ( savedInstanceState ); setContentView ( R . компоновки . activity_main ); share = ( кнопка ) findViewById ( R . id . share1 ); доля . setOnClickListener ( новый вид . OnClickListener () { @Override public void onClick ( View v ) { Растровое изображение Bitmap = takeScreenshot (); saveBitmap ( bitmap ); shareIt (); } }); } // Метод скриншота для снятия скриншота в общедоступном приложении Bitmap takeScreenshot () { Просмотр rootView = getWindow (). getDecorView (). findViewById ( Android . R . ID . Содержание ); // Просмотр rootView = findViewById (android.R.id.content) .getRootView (); //rootView.setDrawingCacheEnabled(true); // возвращаем rootView.getDrawingCache (); // View screenView = view.getRootView (); rootView . setDrawingCacheEnabled ( true ); Bitmap bitmap = Bitmap . createBitmap ( rootView . getDrawingCache ()); rootView . setDrawingCacheEnabled ( false ); return bitmap ; } public void saveBitmap ( Bitmap bitmap ) { imagePath = новый файл ( среда . getExternalStorageDirectory (). getAbsolutePath () + "/screenshot.png" ); FileOutputStream fos ; try { fos = new FileOutputStream ( imagePath ); растровое изображение . compress ( Bitmap . CompressFormat . JPEG , 100 , fos ); fos . flush (); fos . close (); } catch ( FileNotFoundException e ) { Log . e ( «GREC» , e . getMessage (), e ); } catch ( IOException e ) { Журнал . e ( «GREC» , e . getMessage (), e ); } } // Метод ShareIt для вызова общего ресурса. Снимок экрана снят с частного void shareIt () { Uri uri = Uri . fromFile ( imagePath ); Intent sharingIntent = новый Intent ( андроид . Content . Intent . ACTION_SEND ); Цель намерения = это . getIntent (); Bundle bundle = getIntent (). getExtras (); sharedIntent = намерение . setType ( "image / *" ); //sharingIntent.setType("image/* "); String shareBody = «В Tweecher, мой самый высокий балл с снимком экрана» ; shareIntent . putExtra ( android . content . Intent . EXTRA_SUBJECT , «My Tweecher score» ); shareIntent . putExtra ( андроид . содержание . Намерение . EXTRA_TEXT , shareBody ); shareIntent . putExtra ( Intent . EXTRA_STREAM , uri ); startActivity ( Intent . createChooser ( sharedIntent , «Share via» )); } } PointerException: попытка вызвать виртуальный метод 'java.lang.String android.os.Bundle.getString (java.lang.String)' в ссылке на нулевой объект

Ниже приведен код:

09-14 21:25:21.470 2844-2844/com.mycompany.myfirstglapp I/art: Not late-enabling -Xcheck:jni (already on)
09-14 21:25:21.881 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: Telemetry initialize() called...
09-14 21:25:21.883 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: Right before Telemetry set enabled in initialized()
09-14 21:25:21.888 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: setTelemetryEnabled(); this.telemetryEnabled = false; telemetryEnabled = true
09-14 21:25:21.888 2844-2844/com.mycompany.myfirstglapp D/MapboxEventManager: Starting Telemetry Up!
09-14 21:25:21.921 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: Permissions are good, see if GPS is enabled and if not then setup Ambient.
09-14 21:25:21.923 2844-2844/com.mycompany.myfirstglapp E/MapboxEventManager: Error Trying to load Staging Credentials: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
09-14 21:25:21.996 2844-2844/com.mycompany.myfirstglapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
09-14 21:25:22.263 2844-2844/com.mycompany.myfirstglapp I/art: Thread[1,tid=2844,Native,Thread*=0xb40f4500,peer=0x73828258,"main"] recursive attempt to load library "/data/app/com.mycompany.myfirstglapp-2/lib/x86/libmapbox-gl.so"
09-14 21:25:22.263 2844-2844/com.mycompany.myfirstglapp I/art: Thread[1,tid=2844,Native,Thread*=0xb40f4500,peer=0x73828258,"main"] recursive attempt to load library "/data/app/com.mycompany.myfirstglapp-2/lib/x86/libmapbox-gl.so"
09-14 21:25:22.294 2844-2844/com.mycompany.myfirstglapp E/OfflineManager: Failed to read the storage key: Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference
09-14 21:25:22.359 2844-2844/com.mycompany.myfirstglapp I/com.mapbox.mapboxsdk.maps.MapView: MapView start Telemetry...
09-14 21:25:22.360 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: Telemetry initialize() called...
09-14 21:25:22.360 2844-2844/com.mycompany.myfirstglapp I/MapboxEventManager: Mapbox Telemetry has already been initialized.

                                                                              [ 09-14 21:25:22.361  2844: 2844 D/         ]
                                                                              HostConnection::get() New Host Connection established 0xaaabfdc0, tid 2844
09-14 21:25:22.387 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: EGL Vendor: Android
09-14 21:25:22.387 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: EGL Version: 1.4 Android META-EGL
09-14 21:25:22.387 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: EGL Client APIs: OpenGL_ES
09-14 21:25:22.387 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: EGL Client Extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 
09-14 21:25:22.387 2844-2844/com.mycompany.myfirstglapp W/mbgl: {ny.myfirstglapp}[Android]: In emulator! Enabling hacks :-(
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: Found 2 configs
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: Config 0:
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Caveat: 12344
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Conformant: 5
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Color: 32
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Red: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Green: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Blue: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Alpha: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Alpha mask: 0
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Depth: 24
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Stencil: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Sample buffers: 0
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Samples: 0
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: Config 1:
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Caveat: 12344
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Conformant: 5
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Color: 32
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Red: 8
09-14 21:25:22.388 2844-2844/com.mycompany.myfirstglapp I/mbgl: {ny.myfirstglapp}[OpenGL]: ...Green: 8
09-14 21:25:22.388 

java,android,share,

0

Ответов: 1


0 принят

Единственная стопка, которую вы отправили из вашего журнала, - это ошибка

at com.mycompany.myfirstglapp.GPSTracker.getLocation(GPSTracker.java:133)

Когда вы смотрите вниз по нескольким строкам, вы увидите

getLocation()

Это означает, что ошибка возникает из-за чего-то на строке 133 в GPSTracker.java. Это в nullметоде вашего GPSTrackerкласса. Вам нужно посмотреть эту строку кода и использовать отладчик, чтобы определить, какая переменная в этой строке кода null. Так как stacktrace показывает другие методы из стека вызовов, скорее всего проблема связана с одним из параметров, которые вы передаете getLocation()методу.

Java, Android, доля,
Похожие вопросы