1package com.jonastimo.beschwerde;
2
3import java.io.File;
4import java.io.IOException;
5import java.util.List;
6import java.util.Locale;
7
8import android.app.Activity;
9import android.app.AlertDialog;
10import android.content.Context;
11import android.content.DialogInterface;
12import android.content.Intent;
13import android.content.pm.ActivityInfo;
14import android.database.Cursor;
15import android.graphics.Bitmap;
16import android.graphics.BitmapFactory;
17import android.location.Address;
18import android.location.Geocoder;
19import android.location.Location;
20import android.location.LocationListener;
21import android.location.LocationManager;
22import android.net.Uri;
23import android.os.Bundle;
24import android.os.Environment;
25import android.provider.MediaStore;
26import android.view.View;
27import android.view.View.OnClickListener;
28import android.widget.ArrayAdapter;
29import android.widget.Button;
30import android.widget.ImageView;
31import android.widget.TextView;
32import android.widget.Toast;
33
34public class MainActivity extends LocatorActivity implements LocationListener{
35
36
37
38 private Uri mImageCaptureUri;
39 private ImageView mImageView;
40
41
42 private static final int PICK_FROM_CAMERA = 1;
43 private static final int PICK_FROM_FILE = 2;
44
45
46
47 @Override
48 public void onCreate(Bundle savedInstanceState) {
49
50 super.onCreate(savedInstanceState);
51 setContentView(R.layout.activity_main);
52
53
54
55 final String [] items = new String [] {"From Camera", "From SD Card"};
56 ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.select_dialog_item,items);
57 AlertDialog.Builder builder = new AlertDialog.Builder(this);
58
59 builder.setTitle("Select Image");
60 builder.setAdapter( adapter, new DialogInterface.OnClickListener() {
61 public void onClick( DialogInterface dialog, int item ) {
62 if (item == 0) {
63 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
64 File file = new File(Environment.getExternalStorageDirectory(),
65 "tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
66 mImageCaptureUri = Uri.fromFile(file);
67
68 try {
69 intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
70 intent.putExtra("return-data", true);
71
72 startActivityForResult(intent, PICK_FROM_CAMERA);
73 } catch (Exception e) {
74 e.printStackTrace();
75 }
76
77 dialog.cancel();
78 } else {
79 Intent intent = new Intent();
80
81 intent.setType("image/*");
82 intent.setAction(Intent.ACTION_GET_CONTENT);
83
84 startActivityForResult(Intent.createChooser(intent, "Complete action using"), PICK_FROM_FILE);
85 }
86 }
87 } );
88
89 final AlertDialog dialog = builder.create();
90
91 mImageView = (ImageView) findViewById(R.id.iv_pic);
92
93 ((Button) findViewById(R.id.btn_choose)).setOnClickListener(new View.OnClickListener() {
94 @Override
95 public void onClick(View v) {
96 dialog.show();
97 }
98 });
99 }
100
101 @Override
102 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
103 if (resultCode != RESULT_OK) return;
104
105 Bitmap bitmap = null;
106 String path = "";
107
108 if (requestCode == PICK_FROM_FILE) {
109 mImageCaptureUri = data.getData();
110 path = getRealPathFromURI(mImageCaptureUri); //from Gallery
111
112 if (path == null)
113 path = mImageCaptureUri.getPath(); //from File Manager
114
115 if (path != null)
116 bitmap = BitmapFactory.decodeFile(path);
117 } else {
118 path = mImageCaptureUri.getPath();
119 bitmap = BitmapFactory.decodeFile(path);
120 }
121
122 mImageView.setImageBitmap(bitmap);
123 }
124
125 public String getRealPathFromURI(Uri contentUri) {
126 String [] proj = {MediaStore.Images.Media.DATA};
127 Cursor cursor = managedQuery( contentUri, proj, null, null,null);
128
129 if (cursor == null) return null;
130
131 int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
132
133 cursor.moveToFirst();
134
135 return cursor.getString(column_index);}{
136
137
138 }
139
140
141
142
143
144 @Override
145 protected void onStart() {
146 super.onStart();
147
148
149
150 }
151
152 @Override
153 public void onLocationChanged(Location location) {
154 // TODO Auto-generated method stub
155
156 }
157
158 @Override
159 public void onProviderDisabled(String provider) {
160 // TODO Auto-generated method stub
161
162 }
163
164 @Override
165 public void onProviderEnabled(String provider) {
166 // TODO Auto-generated method stub
167
168 }
169
170 @Override
171 public void onStatusChanged(String provider, int status, Bundle extras) {
172 // TODO Auto-generated method stub
173
174 }
175
176}}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.