APIレベル23では、Location ManagerをAndroidで使用して緯度と経度を取得しようとしています。GPSの許可を求めています。 許可を得た後、MainActivityには行かない。API 23で何の許可も得られていません。android
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen_main);
if(Build.VERSION.SDK_INT >= 23){
requestMultiplePermissions();
}
final Thread splashScreenThread = new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException exception) {
exception.printStackTrace();
} finally {
Intent homeScreen = new Intent(SplashScreen.this, MainActivity.class);
}
}
};
splashScreenThread.start();
}
//Marshmallow permission code
private void requestMultiplePermissions() {
String locationPermission = Manifest.permission.ACCESS_FINE_LOCATION;
int hasLocPermission = checkSelfPermission(locationPermission);
List<String> permissions = new ArrayList<String>();
if (hasLocPermission != PackageManager.PERMISSION_GRANTED) {
permissions.add(locationPermission);
}
if (!permissions.isEmpty()) {
String[] params = permissions.toArray(new String[permissions.size()]);
requestPermissions(params, 1);
} else {
// We already have permission, so handle as normal
}
}
@Override
public void onRequestPermissionsResult (int requestCode, String[] permissions,
int[] grantResults){
Toast.makeText(SplashScreen.this," "+grantResults,Toast.LENGTH_SHORT).show();
switch (requestCode) {
case 1:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Handle permission granted
Intent intent = new Intent(SplashScreen.this , MainActivity.class);
startActivity(intent);
} else {
// Handle permission denied
new AlertDialog.Builder(this)
.setMessage("The app cannot continue without permissions")
.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
SplashScreen.this.finish();
}
})
.show();
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
//
}
}
ヘルプは初めてです。 requestMultiplePermission
内部のあなたの他の状態で
メインフォルダに – Arjun
をあなたのbuild.gradleファイルのコードをアップロードしてください、私の意図があるなぜあなたは、何が問題である私に言うことができます働いていない。 – Firdoesh
https://hackernoon.com/10-good-rules-for-bad-app-part-1-technical-4ca18609b13c#.tmuvppy8x投稿番号1はあなたのためです –