TTY via application sous Android
Bonjour à tous,
Débutant sous Android, ma question va peut être vous sembler bête :
Je souhaite écrire dans un tty (une sortie série standard quoi) via mon application.
Pour vérifier le fonctionnement de mon application hors tty, j'ai écris et lu dans un fichier sur ma carte SD, aucun soucis.
Dès que j'essaie d'écrire dans le tty (changement du chemin du fichier où écrire), cela marche une et unique fois. Pour les fois suivante, l'ouverture est refusée et j'obtiens une exception "FileNotFoundException".
Mon code ci dessous, issu d'un tuto sur Android
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// On crée un fichier qui correspond à l'emplacement
mFile = new File("/dev/ttyACM0");
mLu = (TextView) findViewById(R.id.textLu);
mWrite = (Button) findViewById(R.id.allumer);
mWrite.setOnClickListener(new View.OnClickListener() {
public void onClick(View pView) {
mLu.setText("allume");
try {
// Si le fichier est lisible et qu'on peut écrire dedans
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
&& !Environment.MEDIA_MOUNTED_READ_ONLY.equals(Environment.getExternalStorageState())) {
// On crée un nouveau fichier. Si le fichier existe déjà, il ne sera pas créé
mFile.createNewFile();
FileOutputStream output = new FileOutputStream(mFile);
output.write(allume.getBytes());
if(output != null)
output.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
mLu.setText("FileNotFoundException");
} catch (IOException e) {
e.printStackTrace();
mLu.setText("IOException");
}
}
}); |
Auriez vous une idée d'où se situe mon erreur ?
Merci d'avance
PS :Aucun soucis non plus si je fais plusieurs "Echo "Hello" > ttyACM0" via une console sur mon Android une fois situer dans /dev.