您好我想停止一个应用程序,从相机捕获图像,以显示在anothor活动中并应用一些效果,但我无法将捕获的图像发送到第二个活动。请帮帮我。 MainActivity代码:
package com.example.dias.prendrephoto;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button btn;
Bitmap bmp;
private static final int CAMERA_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
}
public void PrendrePhoto(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
//Bitmap mphoto = (Bitmap) data.getExtras().get("data");
Bundle bundle = new Bundle();
bundle = data.getExtras();
bmp = (Bitmap) bundle.get("data");
Intent i= new Intent(getApplicationContext(),Main2Activity.class);
i.putExtra("monimage",bmp);
startActivity(i);
}
}
}
Main2Activity Code:
package com.example.dias.prendrephoto;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageView;
public class Main2Activity extends AppCompatActivity {
ImageView imgV;
Bitmap image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
imgV = (ImageView) findViewById(R.id.imageView);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
image = bundle.getParcelable("monimage");
imgV.setImageBitmap(image);
}
}
}
错误代码:
11-12 19:11:21.489 1610-1629/system_process I/UsageStatsService: User[0] Flushing usage stats to disk
11-12 19:24:10.108 2256-2256/com.google.android.gms.persistent I/GoogleURLConnFactory: Using platform SSLCertificateSocketFactory
11-12 19:24:10.159 1610-1976/system_process I/AccountManagerService: getTypesVisibleToCaller: isPermitted? true
11-12 19:24:10.192 2256-2263/com.google.android.gms.persistent W/art: Suspending all threads took: 6.593ms
11-12 19:24:10.216 2256-2263/com.google.android.gms.persistent I/art: Background sticky concurrent mark sweep GC freed 5429(499KB) AllocSpace objects, 0(0B) LOS objects, 6% free, 8MB/8MB, paused 9.341ms total 82.928ms
11-12 19:24:10.252 1610-1976/system_process I/AccountManagerService: getTypesVisibleToCaller: isPermitted? true
11-12 19:24:10.284 1233-1552/? D/WVCdm: Instantiating CDM.
11-12 19:24:10.305 1610-1623/system_process I/AccountManagerService: getTypesVisibleToCaller: isPermitted? true
11-12 19:24:10.314 1233-1719/? I/WVCdm: CdmEngine::OpenSession
11-12 19:24:10.314 1233-1719/? I/WVCdm: Level3 Library Sep 28 2015 13:08:28
11-12 19:24:10.319 1233-1719/? W/WVCdm: Could not read /data/mediadrm/IDM1013/ay64.dat2: No such file or directory
11-12 19:24:10.320 1233-1719/? W/WVCdm: Could not load liboemcrypto.so. Falling back to L3. dlopen failed: library "liboemcrypto.so" not found
11-12 19:24:10.345 1233-1719/? I/WVCdm: CdmEngine::QueryKeyControlInfo
11-12 19:24:10.353 1233-1233/? W/WVCdm: BufferReader::Read<T> : Failure during parse: Not enough bytes (4)
11-12 19:24:10.354 1233-1233/? W/WVCdm: CdmEngine::ExtractWidevinePssh: Unable to read atom size.
11-12 19:24:10.354 1233-1233/? I/WVCdm: CdmEngine::GenerateKeyRequest
11-12 19:24:10.355 1233-1233/? D/WVCdm: PrepareKeyRequest: nonce=1685379401
11-12 19:24:10.386 1610-2168/system_process I/AccountManagerService: getTypesVisibleToCaller: isPermitted? true
11-12 19:24:10.388 2256-4487/com.google.android.gms.persistent W/PhenotypeChimeraConfigurator: No account for auth token provided
11-12 19:24:10.737 1233-1718/? I/WVCdm: CdmEngine::CloseSession
11-12 19:24:11.892 2256-4487/com.google.android.gms.persistent I/PhenotypeFlagCommitter: Experiment Configs successfully retrieved for com.google.android.gms.phenotype
11-12 19:24:11.910 2256-4487/com.google.android.gms.persistent I/PhenotypeSyncScheduler: Scheduling adaptive one off task with window [14400, 604800] in seconds
11-12 19:24:12.384 2936-2936/? W/Binder_2: type=1400 audit(0.0:9): avc: denied { read } for name="/" dev="tmpfs" ino=3075 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:device:s0 tclass=dir permissive=0
11-12 19:24:13.107 2256-2263/com.google.android.gms.persistent I/art: WaitForGcToComplete blocked for 5.572ms for cause Background
11-12 19:24:13.734 2256-4486/com.google.android.gms.persistent W/GLSUser: [AppCertManager] IOException while requesting key:
java.io.IOException: Invalid device key response.
at dxt.a(:com.google.android.gms:267)
at dxt.a(:com.google.android.gms:4235)
at dxs.a(:com.google.android.gms:47)
at dxm.a(:com.google.android.gms:55)
at dxl.a(:com.google.android.gms:113)
at com.google.android.gms.auth.account.be.legacy.AuthCronChimeraService.b(:com.google.android.gms:3054)
at dir.call(:com.google.android.gms:2045)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at ixu.run(:com.google.android.gms:453)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at jch.run(:com.google.android.gms:17)
at java.lang.Thread.run(Thread.java:818)
11-12 19:24:54.157 2382-4501/com.google.android.gms I/MS_RegisterService: RegisterService intent:Intent { act=com.google.android.gms.matchstick.register_intent_action (has extras) } isPeriodic:false
11-12 19:24:54.275 2382-4501/com.google.android.gms I/MS_RegisterService: Phone type: 1
11-12 19:24:54.285 2382-4501/com.google.android.gms I/MS_RegisterService: Doing full registration.
11-12 19:24:54.817 2382-4501/com.google.android.gms I/MS_RegisterService: Throttling registration.
11-12 19:24:54.826 2382-4501/com.google.android.gms W/MS_WakeLockHelper: Call to release wakelock: register_service_start_wakelock, but not held.
11-12 19:24:55.242 1610-1632/system_process E/BluetoothAdapter: Bluetooth binder is null
11-12 19:24:55.243 1610-1632/system_process E/KernelCpuSpeedReader: Failed to read cpu-freq
java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66)
at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)
at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002)
at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66)
at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)
at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002)
at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
11-12 19:24:55.244 1610-1632/system_process E/KernelUidCpuTimeReader: Failed to read uid_cputime
java.io.FileNotFoundException: /proc/uid_cputime/show_uid_stat: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66)
at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)
at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031)
at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileReader.<init>(FileReader.java:66)
at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)
at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031)
at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
11-12 19:24:55.245 1610-1632/system_process E/KernelWakelockReader: neither /proc/wakelocks nor /d/wakeup_sources exists
11-12 19:24:55.246 1610-1632/system_process W/BatteryStatsImpl: Couldn't get kernel wake lock stats
11-12 19:24:55.546 2382-4505/com.google.android.gms D/DropBoxEntryAddedChimeraService: User is not opted-in to Usage & Diagnostics or Lockbox.
11-12 19:25:00.217 2382-4506/com.google.android.gms D/DropBoxEntryAddedChimeraService: User is not opted-in to Usage & Diagnostics or Lockbox.
11-12 19:25:00.236 2256-2263/com.google.android.gms.persistent I/art: Background partial concurrent mark sweep GC freed 50310(2MB) AllocSpace objects, 4(72KB) LOS objects, 39% free, 5MB/9MB, paused 5.745ms total 73.172ms
11-12 19:25:05.444 2382-4513/com.google.android.gms D/DropBoxEntryAddedChimeraService: User is not opted-in to Usage & Diagnostics or Lockbox.
11-12 19:26:00.019 1610-1630/system_process I/ProcessStatsService: Prepared write state in 2ms
11-12 19:26:21.379 2382-4515/com.google.android.gms I/EventLogChimeraService: Aggregate from 1478976980824 (log), 1478976980824 (data)
11-12 19:26:21.437 1610-1620/system_process I/art: Background partial concurrent mark sweep GC freed 29928(2MB) AllocSpace objects, 7(184KB) LOS objects, 33% free, 7MB/11MB, paused 5.502ms total 62.324ms
11-12 19:26:21.729 2382-4517/com.google.android.gms D/DropBoxEntryAddedChimeraService: User is not opted-in to Usage & Diagnostics or Lockbox.
答案 0 :(得分:0)
你没有将图像发送到下一个活动,它就是那么大。选项:
1)获取它的位置,然后将其传递给下一个Activity,然后加载它。
2)使用Singleton系统,在那里存储图像,在下一个活动中检索它。