我的android应用程序,我的Android应用程序不适用于Android 7

我开发了一个相机android应用程序,它的工作正确,但是当我在android 7中运行它时,它会创建一条消息,指出“应用程序已停止”!我认为这个问题是从我的代码文件,这是我的画廊文件:我的Android应用程序不适用于Android 7

public class Gallery extends Activity {

GridView gv;

ArrayList list;

Context context;

private static VirtualFileSystem vfs;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gallery2);

File f = new File("/myfiles.db");

list = imageReader(f);

gv = (GridView) findViewById(R.id.gridview);

gv.setAdapter(new GridAdapter());

gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

startActivity(new Intent(getApplicationContext(), viewImage.class).putExtra("img", list.get(position).toString()));

}

});

}

class GridAdapter extends BaseAdapter {

public ImageView iv;

public Bitmap bmp = null;

public File file ;

@Override

public int getCount() {

return list.size();

}

@Override

public Object getItem(int position) {

return list.get(position);

}

@Override

public long getItemId(int position) {

return 0;

}

class ViewHolder {

ImageView icon;

}

@Override

public View getView(final int position, View convertView, ViewGroup parent) {

Log.e("sara" , "this part takes time");

LayoutInflater inflater = getLayoutInflater();

getLayoutInflater().inflate(R.layout.gallery_gridsq, parent, false);

convertView = getLayoutInflater().inflate(R.layout.gallery_gridsq, parent, false);

iv = (ImageView) convertView.findViewById(R.id.icon);

file = new File(Uri.parse(getItem(position).toString()).getPath());

new myTask(iv, file).execute();

return convertView;

}

private class myTask extends AsyncTask {

ImageView iv;

File file;

public myTask(ImageView iv, File file) {

this.iv=iv;

this.file= file;

}

@Override

protected Bitmap doInBackground(Void... params) {

BitmapFactory.Options options = new BitmapFactory.Options();

options.inJustDecodeBounds = true;

try {

BitmapFactory.decodeStream(new FileInputStream(file), null, options);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

options.inJustDecodeBounds = false;

options.inSampleSize = 2;

try {

bmp = BitmapFactory.decodeStream(new FileInputStream(file), null, options);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

return bmp;

}

@Override

protected void onPostExecute(Bitmap aVoid) {

iv.setImageBitmap(aVoid);

}

}

}

ArrayList imageReader (File root) {

final ArrayList a = new ArrayList<>();

File[] files = root.listFiles();

for (int i = files.length - 1; i >= 0; i--) {

if (files[i].isDirectory()) {

// input name directory to array list

a.addAll(imageReader(files[i]));

} else {

if (files[i].getName().endsWith(".jpg")) {

a.add(files[i]);

}

}

}

return a;

}

在该链接,它使用“getUriForFile”但我认为它不能帮助我在这种情况下! 这是我的logcat:

08-07 02:10:21.757 2343-2343 /? E/memtrack:无法加载memtrack 模块(无此文件或目录)08-07 02:10:21.757 2343-2343 /? E/android.os.Debug:未能加载memtrack模块:-2 08-07 02:10:21.913 2349-2349 /? E/memtrack:无法加载memtrack模块(没有 这样的文件或目录)08-07 02:10:21.913 2349-2349 /? E/android.os.Debug:未能加载memtrack模块:-2 08-07 02:10:22.220 2370-2370 /? E/cutils-trace:打开跟踪文件时出错: Permission denied(13)08-07 02:10:23.334 2390-2390 /? E/memtrack: 无法加载memtrack模块(无此文件或目录)08-07 02:10:23.334 2390-2390 /? E/android.os.Debug:未能加载memtrack 模块:-2 08-07 02:10:23.708 2399-2415 /? E/libEGL: load_driver(/system/lib/egl/libGLES_emulation.so):dlopen失败: 库“/system/lib/egl/libGLES_emulation.so”找不到08-07 02:10:23.802 2399-2399 /? E/AndroidRuntime:致命异常:主 工艺:com.example.zeinab.amndoorbin,PID:2399 显示java.lang.NullPointerException:取消()调用在android.app.AlarmManager.cancel(AlarmManager空 的PendingIntent 。 java:890) at info.guardianproject.cacheword.CacheWordService.resetTimeout(CacheWordService.java:189) at info.guardianproject.cacheword.CacheWordService.attachSubscriber(CacheWordService.java:145) at info.guardianproject.cacheword.CacheWordHandler $ 2 .onServiceConnected(CacheWordHandler.java:457) at android.app.LoadedApk $ ServiceDispatcher.doConnected(LoadedApk.java:1453) at android.app.LoadedApk $ Se rviceDispatcher $ RunConnection.run(LoadedApk.java:1481) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os。 Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os .ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)08-07 02:10:25.520 2399-2415 /? E/EGL_emulation:tid 2415: eglSurfaceAttrib(1174):error 0x3009(EGL_BAD_MATCH)08-07 02:10:25.612 706-1732 /? E/EGL_emulation:TID 1732: eglSurfaceAttrib(1174):错误0x3009(EGL_BAD_MATCH)

2017-08-06

zeinab

+1

https://developer.android.com/about/versions/nougat/android-7.0 -changes.html#sharing-files –

+0

看到这里:https://stackoverflow.com/a/38858040/7746134 –

+2

请详细解释**,**,这是什么“它不工作”的意思。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值