android系统下sd卡里文件识别

本文介绍如何在Android系统下识别SD卡中的文件。关键在于SD_IdentifyActivity类,通过Java代码实现文件的读取和识别。详细源代码可在优快云下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不多说,先上图:

关键就在SD_IdentifyActivity类中

SD_IdentifyActivity.java

package com.haungcheng.sd;

import java.io.File;

import com.huangcheng.file.FileInput;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.Toast;

public class SD_IdentifyActivity extends Activity {
	/** Called when the activity is first created. */
	private Handler handler;
	private Message msg;
	private String path = "/sdcard/identify.txt"; // 是别的文件路劲
	private boolean sign = false;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		this.setTitle("认证");
		Thread thread = new Thread() {
			@Override
			public void run() {
				int waitingTime = 5000; // ms
				try {
					while (waitingTime > 0) {
						msg = handler.obtainMessage();
						sleep(5000);
						waitingTime -= 500; // 500ms per time
						File file = new File(path);
						if (file.exists() && file.canRead()) {
							byte[] fileinput = FileInput.input(path);
							String str_id = new String(fileinput);
							System.out.println("读取的身份信息:" + str_id);
							if (str_id.equals("huangcheng")) {
								msg.what = 2;
								waitingTime = 0;
								sign = true;
							}
						} else {
							msg.what = 1;
							waitingTime = 0;
							sign = true;
						}
						handler.sendMessage(msg);
					}
					if (sign == false) {
						msg = handler.obtainMessage();
						msg.what = 3;
						handler.sendMessage(msg);
					}
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		};
		handler = new Handler() {
			@Override
			public void handleMessage(Message msg) {
				// TODO Auto-generated method stub
				super.handleMessage(msg);
				if (msg.what == 1) {
					// 无sd卡直接退出
					Toast.makeText(SD_IdentifyActivity.this,
							"找不到SDCARD,请插入新的SDCARD!", Toast.LENGTH_LONG).show();
				} else if (msg.what == 2) {
					// 认证sdcard
					Toast.makeText(SD_IdentifyActivity.this, "认证成功",
							Toast.LENGTH_LONG).show();
					SD_IdentifyActivity.this.finish();
				} else if (msg.what == 3) {
					// 认证超时
					Toast.makeText(SD_IdentifyActivity.this, "认证超时,退出请重试!",
							Toast.LENGTH_LONG).show();
					SD_IdentifyActivity.this.finish();
				}
			}
		};
		thread.start();
	}
}


很简单的方法,源代码我已上传,地址是http://download.youkuaiyun.com/detail/hc260164797/4598427

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值