开发者

How can I return back to my Activity from GPS settings window

I am having a problem in my Activity, which can take the control to the android mobile GPS settings to have user to switch on/off the GPS, But I am unable to retrun back to my activity. when I press back button, It is directly going 开发者_C百科to Home of the mobile, not coming back my Activity from where I send signal to settings. can anyone tell me the solution for this.

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;
        }
     }  
 }


Works for me. Are you sure you have ACCESS_FINE_LOCATION permission set in your manifest? Are you sure startActivityForResult() is being called?

Also, what is GPS_LOC?

Here's my code that works:

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;
            }
         }  
     }
}


android:noHistory="true"

removing above from menifest file works for me but data is null inside onActivityResult


On back press from the settings location activity, On Resume is called from the activity that called startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 1);

Therefore from there you can check if location has been enabled by

`if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER )) {//add your logic here }`
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜