前提・実現したいこと
androidアプリの開発中でpermisiionリクエスト(インターネット)を実装しようと思っています(目的はサーバーへのpost通信)
発生している問題・エラーメッセージ
いろいろなサイトを参考に製作していたのですが同時に引数宣言をしようとすると複数のエラーを吐き、できるだけ出ないように エラーに従ってみましたがエラーに従うと違うエラーが出てしまいます AndroidManifestへの使用記述はしてあります。 エラーに従わなかったときのエラー内容 Annotations are not allowed here:56 Identifier or type expected:56//これと上のエラーは多分もっと前で@overrideしてるからだと思います ';' expected ';' expected Expression expected ';' expected ';' expected Unexpected token ';' expected Unexpected token エラーに従った時のエラー内容 ';'expected:57 Expression expected:56 ;を置いた場合のエラー Modifire 'public' not allowed here:57 Illegal type: 'void':57 Expression expected:57
該当のソースコード
JAVA
1 2//エラーを減らしたコード 3 4package com.example.httpposttask; 5 6import androidx.appcompat.app.AppCompatActivity; 7import androidx.core.app.ActivityCompat; 8 9import android.Manifest; 10import android.content.pm.PackageManager; 11import android.os.Build; 12import android.os.Bundle; 13 14import android.os.AsyncTask; 15import android.view.View; 16import android.widget.Button; 17import android.widget.Toast; 18 19import com.example.HttpPostTask.R; 20 21import java.io.IOException; 22import java.io.OutputStream; 23import java.net.HttpURLConnection; 24import java.net.URL; 25 26public class MainActivity extends AppCompatActivity { 27 28 // レイアウトxmlと関連付けるWidget 29 Button ENTbutton; 30 31 @Override 32 protected void onCreate(Bundle savedInstanceState) { 33 //↓private staticがつくかも 34 final int PERMISSION_INTERNET = 1; 35 if (Build.VERSION.SDK_INT >= 23) { 36 if(ActivityCompat.checkSelfPermission(this, 37 Manifest.permission.INTERNET) 38 != PackageManager.PERMISSION_GRANTED) 39 40 { 41 ActivityCompat.requestPermissions(this, 42 new String[]{ 43 Manifest.permission.INTERNET 44 }, 45 PERMISSION_INTERNET); 46 } 47 } 48 else{ 49 50 } 51 52 53 // 54 55 //@override 56 public void onRequestPermissionsResult (); 57 int requestCode; 58 String[] Permission; 59 int[] grantResults; 60 { 61 if (grantResults.length <= 0) { 62 return; 63 } 64 switch (requestCode) { 65 case PERMISSION_INTERNET: { 66 if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 67 /// 許可が取れた場合 68 /// 必要な処理を書いておく 69 70 } else { 71 /// 許可が取れなかった場合 72 Toast.makeText(this, "can't start application..", Toast.LENGTH_LONG).show(); 73 finish(); 74 } 75 } 76 return; 77 } 78 79 } 80 81 82 83 super.onCreate(savedInstanceState); 84 setContentView(R.layout.activity_main); 85 86 87 ENTbutton = findViewById(R.id.entbutton); 88 89 View.OnClickListener Click = new View.OnClickListener() { 90 @Override 91 public void onClick(View view) { 92 93 94 95 96 } 97 }; 98 } 99} 100 101 102//サイトの元コード 103 104@Override 105public void onRequestPermissionsResult( 106 int requestCode, String[] permission, int[] grantResults 107){ 108 if (grantResults.length <= 0) { return; } 109 switch(requestCode){ 110 case PERMISSION_WRITE_EX_STR: { 111 if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 112 /// 許可が取れた場合・・・ 113 /// 必要な処理を書いておく 114 } else { 115 /// 許可が取れなかった場合・・・ 116 Toast.makeText(this, 117 "アプリを起動できません....", Toast.LENGTH_LONG).show(); 118 finish(); 119 } 120 } 121 return; 122 } 123} 124 125// ↓に赤線が出ている 126//上記がエラーが出ないように修正したが一番上のonRequestPermissionsResult ();の 127// ↑この部分にセミコロン(;)をつけろというエラーが出た
試したこと
()をなくす、publicを消すなどしましたがそうするとまたほかのエラーが出ます。
補足情報(FW/ツールのバージョンなど)
androidバージョン:android 11
Javaに詳しくないので自分なりに記述しているところがあります。
なので構文自体が間違っていたらすみません。
下記サイトを参考に製作していました
https://pisuke-code.com/android-show-permission-dialog/
回答2件
あなたの回答
tips
プレビュー