A. android 調用系統相機拍照後怎麼才能不把照片進行預覽,讓他直接返回到
你需要自己實現相機,就是用Camera
B. android調用拍照功能返回圖片後,系統屏幕橫著顯示了
這是由於橫豎切換的時候Activity會重新onCreate一下,為防止這種問題,需要做以下設置:
在AndroidManifest.xml的每一個需要禁止轉向的Activity配置中加入android:screenOrientation=」landscape」屬性。
參數說明:
landscape = 橫向
portrait = 縱向
避免在轉屏時重啟Activity
android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次 Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!
要避免在轉屏時重啟Activity,可以通過在AndroidManifest.xml文件中重新定義方向(給每個Activity加上android:configChanges=」keyboardHidden|orientation」屬性)。
在需要控制屏幕顯示方向的Activity中重寫onConfigurationChanged(Configuration newConfig)方法,這樣在轉屏時就不會重啟Activity了。
C. Android 調用系統相機點確定執行返回
不太理解你的描述……
你指的是startActivity和startActivityForResult兩種方法調用時的界面差異吧。
像這種支持回調的應用,根據調用方式與傳遞參數的不同,頁面的樣式與後續的處理是有可能不一樣的。
你可以用兩種方式調用下,看看是不是你說的情況。
另外通過桌面啟動b應用,與通過a應用調用b應用的某個界面,情況也不一樣。這涉及到堆棧與context(上下文),就像你有一副撲克與一副三國殺,你可以把一張「殺」插入到撲克里,而回退鍵就相當於上一張牌,在三國殺的牌堆中,殺的上張牌可能是「閃」,但插進了撲克里,上一張也許就是方塊8了……
D. android 調用相機如何得到照片的URI
你的方法沒有錯,這是標準的做法。返回的是小圖。不過你可以在Intent里加這樣一句,設置大圖保存路徑:
java">Intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photoFile));
這樣的話myBitmap應該就是null了。你可以試試是不是可以拿到uri。
E. android 怎麼調用系統相機
這個很簡單的,網路到處都有答案:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private Button button;
private ImageView view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button1);
view= (ImageView)findViewById(R.id.imageView1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
});
}
@SuppressLint("SdCardPath")
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用
Log.i("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) + ".jpg";
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機返回的數據,並轉換為Bitmap圖片格式
FileOutputStream b = null;
File file = new File("/sdcard/Image/");
file.mkdirs();// 創建文件夾
String fileName = "/sdcard/Image/"+name;
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try
{
view.setImageBitmap(bitmap);// 將圖片顯示在ImageView里
}catch(Exception e)
{
Log.e("error", e.getMessage());
}
}
}
}
F. Android調用照相機和百度地圖開發,百度地圖顯示界面覆蓋了相機界面,求大神解答
android手機有自帶的照相機和圖庫,我們做的項目中有時用到上傳圖片到伺服器,今天做了一個項目用到這個功能,所以把我的代碼記錄下來和大家分享,有需求的朋友可以參考下
android手機有自帶的照相機和圖庫,我們做的項目中有時用到上傳圖片到伺服器,今天做了一個項目用到這個功能,所以把我的代碼記錄下來和大家分享,第一次寫博客希望各位大神多多批評。
首先上一段調用android相冊和相機的代碼:
復制代碼
代碼如下:
Intent intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);//調用android自帶的照相機
photoUri =
MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
startActivityForResult(intent,
1);
復制代碼
代碼如下:
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//調用android的圖庫
startActivityForResult(i, 2);
復制代碼
代碼如下:
@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data) {
//完成照相後回調用此方法
super.onActivityResult(requestCode, resultCode, data);
case 1:
switch (resultCode) {
case Activity.RESULT_OK://照相完成點擊確定
String sdStatus = Environment.getExternalStorageState();
if
(!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用
Log.v("TestFile", "SD card is not avaiable/writeable right now.");
return; }
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap)
bundle.get("data");// 獲取相機返回的數據,並轉換為Bitmap圖片格式
FileOutputStream b = null;
File file = new File("/sdcard/pk4fun/");
file.mkdirs();//
創建文件夾,名稱為pk4fun //
照片的命名,目標文件夾下,以當前時間數字串為名稱,即可確保每張照片名稱不相同。網上流傳的其他Demo這里的照片名稱都寫死了,則會發生無論拍照多少張,後一張總會把前一張照片覆蓋。細心的同學還可以設置這個字元串,比如加上「IMG」字樣等;然後就會發現sd卡中myimage這個文件夾下,會保存剛剛調用相機拍出來的照片,照片名稱不會重復。
String str = null;
Date date = null;
SimpleDateFormat format = new
SimpleDateFormat("yyyyMMddHHmmss");// 獲取當前時間,進一步轉化為字元串
date = new
Date(resultCode);
str = format.format(date);
String fileName =
"/sdcard/myImage/" + str + ".jpg";
sendBroadcast(fileName);
try {
b
= new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件
} catch
(FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
} break;
case Activity.RESULT_CANCELED://
取消
break;
}
break;
case 2:
switch (resultCode) {
case
Activity.RESULT_OK: {
Uri uri = data.getData();
Cursor cursor =
mActivity.getContentResolver().query(uri, null,
null, null, null);
cursor.moveToFirst();
String imgNo = cursor.getString(0); // 圖片編號
String imgPath = cursor.getString(1); // 圖片文件路徑
String imgSize =
cursor.getString(2); // 圖片大小
String imgName = cursor.getString(3); // 圖片文件名
cursor.close();
// Options options = new BitmapFactory.Options();
//
options.inJustDecodeBounds = false;
// options.inSampleSize = 10;
//
Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);
}
break;
case Activity.RESULT_CANCELED:// 取消
break;
}
break;
}
G. android 調用系統相機,不拍照直接按返回會怎麼樣
@Override
/*處理拍照完成後,傳遞數值事件*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (requestCode != 0) {
return;
}
//加上這個判斷就好了
if(resultCode==Activity.RESULT_CANCELED)
{
Intent it =new Intent(getApplicationContext(), GrenxxActivity.class);
it.putExtra("uno",uno);
startActivity(it);
finish();
return;
}
H. android 調用系統照相機,保存後回到前一個activity
修改相機源碼編譯,因為相機返回功能是點2次,保存並沒有退出動作,這個不改源碼或者在相機源碼裡面加Intent 是做不到這種效果的 。 我剛想了下,在廣播或者Service裡面加 OnKeyDown 方法 ,但是廣播和service沒有這方法,所以不能夠靠監聽到 返回鍵的鍵值 4 ,從而直接 Intent到 A activity的功能就無法實現 ,所以建議修改相機源碼,即可實現 。 如果是純應用, 抱歉,能想的都想了,實現不了。
I. android 調用系統照相機拍照後獲得圖片路徑
{privateUrimOutPutFileUri;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ButtontakePiCButton=(Button)this.findViewById(R.id.button1);
takePiCButton.setOnClickListener(this);
}
@Override
publicvoidonClick(Viewv){
switch(v.getId()){
caseR.id.button1:
saveFullImage();
break;
default:
break;
}
}
privatevoidsaveFullImage(){
Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
//文件夾aaaa
Stringpath=Environment.getExternalStorageDirectory().toString()+"/aaaa";
Filepath1=newFile(path);
if(!path1.exists()){
path1.mkdirs();
}
Filefile=newFile(path1,System.currentTimeMillis()+".jpg");
mOutPutFileUri=Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT,mOutPutFileUri);
startActivityForResult(intent,1);
}
@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==1){
UriimageUri=null;
if(data!=null){
if(data.hasExtra("data")){
Bitmapthunbnail=data.getParcelableExtra("data");
//處理縮略圖
}
}else{
//處理mOutPutFileUri中的完整圖像
}
}
}
}
J. 一個Android程序,想實現調用系統相機拍照,然後存儲照片的功能,代碼如下。
多了括弧哦。