Hallo,
ich wollte eine MP3-Player App machen. Ich habe die (noch) nicht fertige App auf meinem Handy mit Android 5 getestet und konnte auch Musik abspielen. Auf einem Handy mit Android 6 schließt sich die App nach dem Öffnen sofort wieder ( Meistens kommt ja sowas wie "App reagiert nicht", ist hier aber nicht der Fall).
Die Fehlermeldung auf Handy mit Android 6:
Woran liegt das? Fehlen bei Android 6 noch irgendwelche Berechtigungen?
Danke im Vorraus.
ich wollte eine MP3-Player App machen. Ich habe die (noch) nicht fertige App auf meinem Handy mit Android 5 getestet und konnte auch Musik abspielen. Auf einem Handy mit Android 6 schließt sich die App nach dem Öffnen sofort wieder ( Meistens kommt ja sowas wie "App reagiert nicht", ist hier aber nicht der Fall).
Java:
import android.content.ContentResolver;
import android.database.Cursor;
import android.media.MediaPlayer;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<String> list;
private ContentResolver cr;
private List<Song> songList = new ArrayList<Song>();
private MediaPlayer mediaPlayer = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cr = getContentResolver();
list = new ArrayList<String>();
listView = findViewById(R.id.listView);
getAudioFiles(cr);
createListView();
}
private void getAudioFiles(ContentResolver cr) {
String[] protection = {MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.YEAR,
MediaStore.Audio.Media.TRACK, MediaStore.Audio.Media.SIZE, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID};
Cursor c = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, protection, null, null, null);
if(c!=null) {
while(c.moveToNext()) {
String title = c.getString(0);
String interpret = c.getString(1);
String album = c.getString(2);
int year = c.getInt(3);
int track = c.getInt(4);
int trackSize = c.getInt(5);
String path =c.getString(6);
Song s = new Song(title,interpret, album, year, track, trackSize, path);
songList.add(s);
}
}
}
private void createListView() {
for(Song s: songList) {
list.add(s.toString());
}
listView.setAdapter(new ArrayAdapter<String>(this,R.layout.activity_main, R.id.textView,list));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = new MediaPlayer();
}
String s = (String) listView.getItemAtPosition(position);
int index = 0;
int tmp = 0;
for (int i = 0; i < s.length(); i++) {
index = index + 1;
char c = s.charAt(i);
if (c == '/') {
tmp = index;
break;
}
}
String sub = s.substring(tmp - 1, s.length() - 1);
Toast to = Toast.makeText(getBaseContext(), "" + sub, Toast.LENGTH_LONG);
to.show();
try {
mediaPlayer.setDataSource(sub);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
Die Fehlermeldung auf Handy mit Android 6:
W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate
--boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default
--dex-file=/data/app/com.example.admin.mp3player-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.admin.mp3player-1@split_lib_dependencies_apk.apk@classes.dex)
because non-0 exit status
--boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=generic --instruction-set-features=default
--dex-file=/data/app/com.example.admin.mp3player-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.admin.mp3player-1@split_lib_dependencies_apk.apk@classes.dex)
because non-0 exit status
Woran liegt das? Fehlen bei Android 6 noch irgendwelche Berechtigungen?
Danke im Vorraus.