現在学校で卒業制作を作っていてその制作物のエラーです。
最終的にはraspberry piがカメラで撮った画像をhtmlに入れてapacheを起動してそのURLをandroidに送るという形です。(確認頻度はすごく高いです。)
今回問題が発生しているのはraspberry piをwifiに参加させるうえでssh無しでwifiに参加させないといけないので、ssidとパスワードをbluetoothでandroidから送ろうと思っています。
外部ストレージにファイルを作り送るようのintentに遷移したのはいいのですが、raspberry piが出ません。
ファイル保存とIntentのコードは以下になります。
Java
1private File createFile(String filename,String ... datas){ 2 filename+=".wifi"; 3 String content=""; 4 for(String data:datas){ 5 content+=data+"\n"; 6 } 7 File save=getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS); 8 File file=new File(save,filename); 9 try(FileOutputStream out = new FileOutputStream(file,true); 10 OutputStreamWriter writer=new OutputStreamWriter(out,StandardCharsets.UTF_8); 11 BufferedWriter bf=new BufferedWriter(writer); 12 ){ 13 bf.write(content); 14 bf.flush(); 15 return file; 16 }catch (IOException e){ 17 Log.d(this.getClass().getSimpleName(),e.getMessage()); 18 } 19 return null; 20 } 21
Java
1public void onClick(View v){ 2 switch (v.getId()){ 3 case R.id.submit: 4 File file=this.createFile("add_wifi",this.SSID.getText().toString(),this.password.getText().toString()); 5 if(file!=null){ 6 Intent test=new Intent(); 7 test.setAction(Intent.ACTION_SEND); 8 test.setPackage("com.android.bluetooth"); 9 test.setType("text/*"); 10 test.putExtra(Intent.EXTRA_STREAM,FileProvider.getUriForFile(settings.this,getApplicationContext().getPackageName()+".provider",file)); 11 startActivity(test); 12 } 13 14 break; 15}
この方法で出すと自分の使っているノートパソコンは出ます。
また、それに送ると受け取れる状態ならばちゃんと保存できます。
ですが、raspberry piがいません。
また、これを実行したときにノートパソコンの名前は出ますが、純正の設定アプリ→bluetooth のところを見るとノートパソコンとペアリングが解除されている状態です(1度して削除しました。パソコン側はペアリング状態と出ています。)
だいぶ前のbluetooth状態を引き継いでいるのかはわかりませんが、おそらくペアリングリストが更新されていません。
ご回答のほど、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー