Android 摄像头在两个不同的选项卡上打开

Android 摄像头在两个不同的选项卡上打开,android,android-fragments,android-camera,Android,Android Fragments,Android Camera,我对开发Android应用程序相当陌生。我正在尝试创建一个应用程序,允许您使用最后一个(相机)选项卡将图片保存在名为Property_picture.jpg的“Pictures”文件夹中。但是,最后两个选项卡都在打开相机,并且拍照后也不会保存照片。任何帮助都将不胜感激。谢谢大家! 这是我的密码: package com.example.prcentry02; import java.io.File; import java.util.Locale; import android.app.Ac

我对开发Android应用程序相当陌生。我正在尝试创建一个应用程序,允许您使用最后一个(相机)选项卡将图片保存在名为Property_picture.jpg的“Pictures”文件夹中。但是,最后两个选项卡都在打开相机,并且拍照后也不会保存照片。任何帮助都将不胜感激。谢谢大家!

这是我的密码:

package com.example.prcentry02;

import java.io.File;
import java.util.Locale;

import android.app.Activity;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.support.v13.app.FragmentPagerAdapter;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v4.view.ViewPager;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements ActionBar.TabListener {
    SectionsPagerAdapter mSectionsPagerAdapter;

    ViewPager mViewPager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        final ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

getFragmentManager();
        mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        mViewPager
                .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {
                        actionBar.setSelectedNavigationItem(position);
                    }
                });
        for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
            actionBar.addTab(actionBar.newTab()
                    .setText(mSectionsPagerAdapter.getPageTitle(i))
                .setTabListener(this));
        }
    }
    @Override
    public void onTabSelected(ActionBar.Tab tab,
            FragmentTransaction fragmentTransaction) {
            mViewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab,
            FragmentTransaction fragmentTransaction) {
    }

    @Override
    public void onTabReselected(ActionBar.Tab tab,
            FragmentTransaction fragmentTransaction) {
            }
    public class SectionsPagerAdapter extends FragmentPagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }


        @Override
        public Fragment getItem(int position) {         

                if (position== mSectionsPagerAdapter.getCount()-1)
            {
                return CameraFragment.newInstance(position);
            }       
                else if (position== 0)
                    {
            return LocationFragment.newInstance(position);
                    }

            else
            {
                return propertyrecordFragment.newInstance(position);
            }
        }


        @Override
        public int getCount() {
            return 4;
        }


            @Override
        public CharSequence getPageTitle(int position) {
            Locale l = Locale.getDefault();

            switch (position) {

                        case 0:
                return getString(R.string.PRC_Location).toUpperCase(l);
            case 1:
                return getString(R.string.PRC_1).toUpperCase(l);
            case 2:
                return getString(R.string.PRC_2).toUpperCase(l);
            case 3:
                return getString(R.string.Camera).toUpperCase(l);
                }
            return null;
        }
    }


    public static class LocationFragment extends Fragment {

        private static final String ARG_SECTION_NUMBER = "section_number";


        public static LocationFragment newInstance(int sectionNumber) {
            LocationFragment fragment = new LocationFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }


        public LocationFragment() {

        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

            View rootView = inflater.inflate(R.layout.location_main, container,false);
            TextView textView = (TextView) rootView.findViewById(R.id.section_label);


            textView.setText("Location" + this.getArguments());
    return rootView;
        }
    }
    public static class CameraFragment extends Fragment {
                private static final String ARG_SECTION_NUMBER = "section_number";


        public static CameraFragment newInstance(int sectionNumber) {
            CameraFragment fragment = new CameraFragment();
            Bundle args = new Bundle();
            args.putInt(CameraFragment.ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);

            return fragment;

        }
        public CameraFragment() {
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

            View rootView = inflater.inflate(R.layout.camera_main, container,false);
            TextView textView = (TextView) rootView.findViewById(R.id.section_label);
            textView.setText("camera" + ARG_SECTION_NUMBER);



            Context context = getActivity();
            PackageManager packageManager = context.getPackageManager();
            if(packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA) == false){
                Toast.makeText(getActivity(), "This device does not have a camera.", Toast.LENGTH_SHORT)
                        .show();
            }


            Intent imageIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
               File image = new File("~/Pictures/", "Property_Picture.jpg");



             Uri uriSavedImage = Uri.fromFile(image);

               imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);

               startActivityForResult(imageIntent,0);

            return rootView;
        }
    }

    public static class propertyrecordFragment extends Fragment {
        private static final String ARG_SECTION_NUMBER = "section_number";


        public static propertyrecordFragment newInstance(int sectionNumber) {
            propertyrecordFragment fragment = new propertyrecordFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }
        public propertyrecordFragment() {
        }
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

            View rootView = inflater.inflate(R.layout.propertyrecordcard_main, container,false);
            TextView textView = (TextView) rootView.findViewById(R.id.section_label);
            textView.setText("PRC goes here");
            return rootView;
        }
    }

    }
package com.example.prcentry02;
导入java.io.File;
导入java.util.Locale;
导入android.app.Activity;
导入android.app.ActionBar;
导入android.app.AlertDialog;
导入android.app.Fragment;
导入android.app.FragmentManager;
导入android.app.FragmentTransaction;
导入android.content.Context;
导入android.content.DialogInterface;
导入android.content.Intent;
导入android.content.pm.PackageManager;
导入android.support.v13.app.FragmentPagerAdapter;
导入android.net.Uri;
导入android.os.Bundle;
导入android.os.Environment;
导入android.provider.MediaStore;
导入android.support.v4.view.ViewPager;
导入android.view.Gravity;
导入android.view.LayoutInflater;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入android.widget.Toast;
公共类MainActivity扩展活动实现ActionBar.TabListener{
分段SPAGERADAPTER mSectionsPagerAdapter;
ViewPager mViewPager;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最终ActionBar ActionBar=getActionBar();
actionBar.setNavigationMode(actionBar.NAVIGATION\u MODE\u选项卡);
getFragmentManager();
mSectionsPagerAdapter=newsectionspageradapter(getFragmentManager());
mViewPager=(ViewPager)findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager
.setOnPageChangeListener(新的ViewPager.SimpleOnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
actionBar.setSelectedNavigationItem(位置);
}
});
对于(int i=0;i