Android 在结果设置中启动活动
当我的应用程序启动且位置未启用时,会要求用户将其打开。我已经使用Android 在结果设置中启动活动,android,android-intent,startactivityforresult,Android,Android Intent,Startactivityforresult,当我的应用程序启动且位置未启用时,会要求用户将其打开。我已经使用startActivity(intetnt)完成了它,它可以工作,但现在我希望在用户打开它后自动关闭它。我知道可以使用StartActivityForResult完成,但不知道如何完成 public void onClick(DialogInterface dialogInterface, int i) { Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_
startActivity(intetnt)
完成了它,它可以工作,但现在我希望在用户打开它后自动关闭它。我知道可以使用StartActivityForResult
完成,但不知道如何完成
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent,0x1002);
}
但现在我希望它在用户打开后自动关闭。我知道可以用StartActivityForResult完成,但不知道怎么做
startActivityForResult()
完全按照名称执行。它启动活动并让您从中获得一些结果。就这些
您不能关闭您调用的活动,除非它为您提供了这样的选项(即,期望在Bundle等中传递某些参数)。从第一个活动使用startActivityForResult()方法调用第二个活动 在第二个活动中,如果您想发回数据:
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
如果不想返回数据:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();
现在,在第一个Activity类中,为onActivityResult()方法编写以下代码
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
}//onActivityResult