Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未找到处理意图{act=android.settings.LOCALE\u settings}的活动_Java_Android_Android Studio - Fatal编程技术网

Java 未找到处理意图{act=android.settings.LOCALE\u settings}的活动

Java 未找到处理意图{act=android.settings.LOCALE\u settings}的活动,java,android,android-studio,Java,Android,Android Studio,我正在创建一个检查当前位置的代码,但是,当我检查当前位置时,它会崩溃。我看着堆栈跟踪,看到了这个。我读过其他论坛,但不熟悉它们的解决方案。我也是Java的初学者。我用亚马逊Fire平板电脑下载了这个应用程序。当我尝试在模拟器上测试它时,应用程序没有崩溃 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.LOCALE_SETTINGS }

我正在创建一个检查当前位置的代码,但是,当我检查当前位置时,它会崩溃。我看着堆栈跟踪,看到了这个。我读过其他论坛,但不熟悉它们的解决方案。我也是Java的初学者。我用亚马逊Fire平板电脑下载了这个应用程序。当我尝试在模拟器上测试它时,应用程序没有崩溃

 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.LOCALE_SETTINGS }
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1797)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1517)
        at android.app.Activity.startActivityForResult(Activity.java:3761)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
        at android.app.Activity.startActivityForResult(Activity.java:3722)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
        at android.app.Activity.startActivity(Activity.java:4032)
        at android.app.Activity.startActivity(Activity.java:4000)
        at com.example.calculatorandlocationfinderfinal.MainActivity$7.onClick(MainActivity.java:181)
        at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5491)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
下面是它发生的代码

private void onGPS(){
final AlertDialog.Builder=新建AlertDialog.Builder(此);
builder.setMessage(“启用GPS”).setCancelable(false).setPositiveButton(“是”,新建DialogInterface.OnClickListener()){
@凌驾
public void onClick(DialogInterface dialog,int which){
startActivity(新意图(设置、动作、区域设置));
}
}).setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.cancel();
}
});
final AlertDialog AlertDialog=builder.create();
alertDialog.show();
}

我想您想导航到GPS设置屏幕。 试试这个

startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));

手机/设备可能完全缺少区域设置屏幕,从而导致崩溃。

始终使用此方法启动应用程序以外的其他意图-

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
if(intent.resolveActivity(context.getPackageManager()) != null){
    startActivity(intent);
}else{
    //handle activity not found
}
这样您就不会得到ActivityNotFoundException

您还可以使用try-catch作为-

try {
       startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
    } catch (e: ActivityNotFoundException) {
       //handle activity not found
    }
Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //This line solve my issue
startActivity(viewIntent);