Android Media Store

Diskussion i 'Frågor, support och diskussion' startad av liberte, 17 maj 2010.

  1. liberte

    liberte Infant Droid Medlem

    Blev medlem:
    16 feb 2010
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Hej,

    På min applikation så har jag använt Media Store för att kunna spela in ljud. Koden exekveras felfritt och programmet körs på emulatorn utan problem, men när jag testar det på telefonen så kraschar den!!

    Skulla vara mycket tacksam om någon kan komma med förslag på vad detta kan bero på?

    /:cool:
     
  2. yrara

    yrara Teen Droid Medlem

    Blev medlem:
    30 sept 2009
    Inlägg:
    428
    Mottagna gillanden:
    8

    MINA ENHETER

    Posta felmeddelande och stack trace
     
  3. liberte

    liberte Infant Droid Medlem

    Blev medlem:
    16 feb 2010
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag får inget felmeddelande på emulatorn men på telefonen så får jag det här:
    "ProgrammetXX(process org.xx)har stoppats oväntat."
    Min kod ser ut så här:

    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;

    public class RecordingSound extends Activity {
    private static final int ACTIVITY_RECORD_SOUND = 1;
    //private static final String TAG = "RecorderTest";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.recording_view);

    Button btn = (Button)findViewById(R.id.recordBtn);
    btn.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    startRecording();
    }
    });
    }
    private void startRecording() {
    // TODO Auto-generated method stub
    Intent intent = new Intent("MediaStore.Audio.Media.RECORD_SOUND_ACTION");
    startActivityForResult(intent, ACTIVITY_RECORD_SOUND);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){

    switch (requestCode){
    case 0:
    if (resultCode == RESULT_OK){
    Uri recordedAudioPath = data.getData();
    }
    }
    }
    }
    och den exekveras utan problem på emulatorn.
    Emulatorn och telefonen har samma Android v.2.1
     
  4. yrara

    yrara Teen Droid Medlem

    Blev medlem:
    30 sept 2009
    Inlägg:
    428
    Mottagna gillanden:
    8

    MINA ENHETER

    Det blir ett felmeddelande, även om du inte ser det i telefonen.

    Plocka upp felmeddelande och stack trace med Log Collector, t.ex.
     
  5. liberte

    liberte Infant Droid Medlem

    Blev medlem:
    16 feb 2010
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Hej igen,

    Som felmeddelande får jag upp detta:

    Kod:
    android.content.ActivityNotFoundException: No Activity found to handle Intent {act=android.provider.MediaStore.RECORD_SOUND}"
    
    Och min kod ser ut så här nu:
    
    public class RecordingSound extends Activity {
    
    
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.recording_view);
            
            Button btn = (Button)findViewById(R.id.recordBtn);
            btn.setOnClickListener(new OnClickListener(){
    
    			@Override
    			public void onClick(View view) {
    				// TODO Auto-generated method stub
    				startRecording();
    			}
            });
        }
        private void startRecording() {
    		// TODO Auto-generated method stub
    		Intent intent = new Intent("android.provider.MediaStore.RECORD_SOUND");
    		startActivityForResult(intent, 0);
    	}
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data){
        	
        	switch (requestCode){
        	case 0:
        		if (resultCode == RESULT_OK){
        			Uri recordedAudioPath = data.getData();
        			}
        		}
        }
       }
    

    Tusen tack för din hjälp.
     
  6. Pajn

    Pajn Adult Droid Medlem

    Blev medlem:
    12 aug 2009
    Inlägg:
    606
    Mottagna gillanden:
    51

    MINA ENHETER

    Lägg gärna koden i code taggar, då blir det lättare att läsa den.
     
  7. relaxer

    relaxer Baby Droid Medlem

    Blev medlem:
    9 maj 2010
    Inlägg:
    28
    Mottagna gillanden:
    1

    MINA ENHETER

    Kanske en dum fråga men har du en en sound recorder app på telefonen som kan ta hand om intentet?
     
  8. liberte

    liberte Infant Droid Medlem

    Blev medlem:
    16 feb 2010
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Nej, ingen fråga är dum här!

    Jo, appen har jag på telefonen och har provat en sak just nu. Jag har kört min applikation på en annan telefon(Xperia X10)med android v 1.6 och det funkade direkt. Däremot så kraschar appen på Samsung med android v 2.1.

    Hur ska man fixa det? Vad tror ni?
     
  9. yrara

    yrara Teen Droid Medlem

    Blev medlem:
    30 sept 2009
    Inlägg:
    428
    Mottagna gillanden:
    8

    MINA ENHETER

    Ja, felmeddelandet säger ju klart och tydligt att den inte hittat någon activity som kan hantera RECORD_SOUND-intentet, och det betyder helt enkelt att telefonen där det kraschar inte har någon applikation installerad som lyssnar efter RECORD_SOUND.

    Ifall du är säker på att du har en sådan applikation på mobilen där det kraschar, så kan du testa med att installera om den applikationen. Det är alltså inte din applikation vi pratar om, utan den som ska starta när du anropar RECORD_SOUND.

    Vad kör Samsung-telefonen för ROM? Är det Vanilla 2.1 direkt från leverantören, något eget du slängt in själv, eller original-2.1 med samsung-specifika konfigurationer?
     
  10. liberte

    liberte Infant Droid Medlem

    Blev medlem:
    16 feb 2010
    Inlägg:
    9
    Mottagna gillanden:
    0

    MINA ENHETER

    Tack för ditt svar yrara!

    Telefonen från början var en 1.6 och min kollega har uppgraderat den till 2.1 med samsungs egen mjukvara.

    Ska installera om appen och se vad som händer.

    Jag återkommer.