Skocz do zawartości
lightinside

Problem podczas próby zrobienia zdjęcia.

    Rekomendowane odpowiedzi

    Mam problem  ze zrobieniem zdjęcia w aplikacji. Po naciśnięciu przycisku odpowiedzialnego za wywołanie metody odpowiedzialnej za zrobienie zdjęcia mam o to taki komunikat: unfortunately camera has stopped code. Dałam kod w blok try catch aby zobaczyć o co chodzi, najpierw mi pokazało się że coś jest z package, google poradził aby zrobić clean projektu, tak też zrobiłam. Po ponownym uruchomieniu problem jest taki sam tylko w logach nie zapisuje żadnego błędu. 

     

    Feralny kod:

    public void onClick(View view){
            try{
                Intent photo = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(photo, 0);
            }
            catch (Exception e){
                Log.v("Exception",e.toString());
            }
    
        }
    

    Testowałam na Nexus One API 18 emulator. Utworzyłam też nowy device upewniłam się że na pewno ma kamerę(i to dwie aż) i nic.

     

    Tak wygląda manifest: (w skróconej formie):

    <activity android:name=".TestBlob" android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            </application>
        <uses-permission android:name="android.permission.CAMERA" />
    </manifest>
    

    Początkowe tagi, otwierające oczywiście są.

     

    Jakiś pomysł?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Coderoid

    a możesz pokazać co importujesz ? bo są tak defacto dwie camery. jedna z hardware i to ta jest Ci potrzebna.

     

    Poza tym kamera na emulatorze ? Nie możesz sprawdzić na fizycznym urządzeniu ?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ta z hardware niby działa, ale jest ten błąd.

     

    Skąd wiem że działa? Użyłam funkcję aby sprawdzić.

     

    No właśnie tak nie bardzo mogę...

    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.provider.MediaStore;
    import android.util.Log;
    import android.view.View;
    import android.widget.ImageView;
    import android.widget.TextView; 

    Dodałam też to:

    <uses-feature android:name="android.hardware.camera" /> 

    w manifeście.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Nie sądzę aby to miało znaczenie, to służy do zapisu pliku np na karcie SD.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Coderoid

    No tak a jak robisz zdjęcie to on gdzieś musi je zapisać. Pokaz LogCat

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ale przecież jeszcze nie robię. Ma się tylko włączyć taka możliwość, aby zdjęcie zrobić. Gdyby wina była po stronie tego, to błąd by był po zrobieniu zdjęcia. Tak, sądzę. W każdym razie ta linijka nie rozwiązuje problemu.

     

    Pisałam już że nie mam nic w logach.

     

    Zmiana mojej funkcji na funkcję opisaną w tym linku, też nie pomogła.

     

    Tworzę nowy projekt i wklejam mój kod, zobaczę czy to nie wina  po stronie projektu, może coś się zepsuło? Nie mam pojęcia. Wiem że dawno powinno działać, a nie działa. Restart komputera, też nie pomógł. 

     

    Nie pomogło.

    Edytowane przez lightinside

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Coderoid

    A czy emulator na pewno obsługuje kamerę ?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    bartex

    Emulator obsługuje kamerę ale pewnie jest wyłączona.

     

    CtdLs.png

     

    @@panryz,

    wiesz ... ciężko pomóc drugiej osobie w momencie jak nawet logów z logcata nie chce wysłać.

     

    /B 

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x