如何从GPS设置窗口返回我的活动

时间:2011-05-13 04:55:24

标签: android gps

我在我的Activity中遇到问题,可以控制Android移动GPS设置让用户打开/关闭GPS,但我无法回溯到我的活动。当我按下后退按钮时,它直接进入移动设备的主页,而不是从我向设置发送信号的地方返回我的活动。任何人都可以告诉我解决方案。

if(!lm.isProviderEnabled(LocationManager.GPS_PROVIDER )) { 
    startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.e("","OnActivity Result...");
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == GPS_LOC) {
       switch (requestCode) {
          case GPS_LOC:
              //super.onCreate(inst);
              super.onResume();
              //super.finish();
           break;
        }
     }  
 }

3 个答案:

答案 0 :(得分:19)

适合我。您确定在清单中设置了ACCESS_FINE_LOCATION权限吗?你确定正在调用startActivityForResult()吗?

另外,什么是GPS_LOC?

这是我的代码:

public class main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        findViewById(R.id.button1).setOnClickListener( new OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 1);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == 1) {
           switch (requestCode) {
              case 1:
               break;
            }
         }  
     }
}

答案 1 :(得分:1)

android:noHistory="true"

从menifest文件中删除以上内容对我有用,但onActivityResult

中的数据为null

答案 2 :(得分:0)

在设置位置活动的背面按,则从调用该活动的活动中调用在恢复上 `if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER )) {//add your logic here }`

因此,您可以从那里检查位置是否已启用

let singers = ['5dcf8dc320742961c8b5a801, 5dcf8eca20742961c8b5a808, 5dcf8c8fef739a6159938ca8']
let singerArr = singers.split(', ')
console.log(singerArr);