歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 2.1 GPS定位和拍照功能代碼

Android 2.1 GPS定位和拍照功能代碼

日期:2017/3/1 10:34:21   编辑:Linux編程

1、GPS功能代碼

[java]
  1. private void getLocation()
  2. {
  3. LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  4. locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
  5. 200, 0, locationListener);
  6. }
  7. private final LocationListener locationListener = new LocationListener() {
  8. public void onLocationChanged(Location location) { //當坐標改變時觸發此函數,如果Provider傳進相同的坐標,它就不會被觸發
  9. // log it when the location changes
  10. if (location != null) {
  11. Lat.setText(String.valueOf(location.getLatitude()));
  12. Lon.setText(String.valueOf(location.getLongitude()));
  13. }
  14. }
  15. public void onProviderDisabled(String provider) {
  16. // Provider被disable時觸發此函數,比如GPS被關閉
  17. }
  18. public void onProviderEnabled(String provider) {
  19. // Provider被enable時觸發此函數,比如GPS被打開
  20. }
  21. public void onStatusChanged(String provider, int status, Bundle extras) {
  22. // Provider的轉態在可用、暫時不可用和無服務三個狀態直接切換時觸發此函數
  23. }
  24. };

2、拍照功能代碼

[java]
  1. public void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. // Hide the window title.
  4. requestWindowFeature(Window.FEATURE_NO_TITLE);
  5. setContentView(R.layout.main);
  6. imageView = (ImageView) this.findViewById(R.id.iv1);
  7. Button button = (Button) this.findViewById(R.id.bt1);
  8. button.setOnClickListener(new OnClickListener() {
  9. public void onClick(View v) {
  10. Intent intent = new Intent("Android.media.action.IMAGE_CAPTURE");
  11. intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri
  12. .fromFile(new File(Environment
  13. .getExternalStorageDirectory(), "temp.jpg")));
  14. intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
  15. startActivityForResult(intent, 0);
  16. }
  17. });
  18. }
  19. @Override
  20. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  21. if (requestCode == 0 && resultCode == Activity.RESULT_OK) {
  22. this.imageView.setImageDrawable(Drawable.createFromPath(new File(
  23. Environment.getExternalStorageDirectory(), "temp.jpg")
  24. .getAbsolutePath()));
  25. }
  26. }

3、退出程序確認

[java]
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {
  2. //按下鍵盤上返回按鈕
  3. if(keyCode == KeyEvent.KEYCODE_BACK){
  4. new AlertDialog.Builder(Main.this)
  5. // Main.this視情況而定,這個一般是指當前顯示的Activity對應的XML視窗。
  6. .setTitle("")// 設置對話框的標題
  7. .setMessage(" 確定退出? ")// 設置對話框的內容
  8. .setPositiveButton("確定",// 設置對話框的確認按鈕
  9. new DialogInterface.OnClickListener() {// 設置確認按鈕的事件
  10. public void onClick(DialogInterface dialog, int which) {
  11. //退出程序
  12. android.os.Process.killProcess(android.os.Process.myPid());
  13. }})
  14. .setNegativeButton("取消",// 設置對話框的取消按鈕
  15. new DialogInterface.OnClickListener() {// 設置取消按鈕的事件
  16. public void onClick(DialogInterface dialog, int which) {
  17. // 如果你什麼操作都不做,可以選擇不寫入任何代碼
  18. dialog.cancel();
  19. }}
  20. ).show();
  21. return true;
  22. }else{
  23. return super.onKeyDown(keyCode, event);
  24. }
  25. }
Copyright © Linux教程網 All Rights Reserved