android获取(android获取文件路径和文件名)
本篇文章给大家谈谈android获取,以及android获取文件路径和文件名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、获取android手机的自带存储路径和sdcard存储路径
- 2、android 获取蓝牙Mac地址
- 3、android 获取局域网IP与MAC 地址 毫秒级(详解)
- 4、Android之获取packageinfo相关
- 5、android如何获取联络人所有资讯
- 6、android如何获取相机分辨率?
获取android手机的自带存储路径和sdcard存储路径
android手机获取自带存储路径和罩源sd卡存储路径的方式是:
调用Environment.getExternalStorageDirectory,返回的存储目录并不是系统内置的SD卡目录。
1、手机将eMC存储挂载到/mnt/external_sd、/mnt/sdcard2等节点,而将外置的SD卡挂载到Environment.getExternalStorgeDirectory这个结点。
2、而另一部分手机直接将eMMC存储挂载在Environment.getExternalStorageDirectory这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2等节点。调用Environment.getExternalStorgeDirectory,则返回内置的SD的路径。
扩展资料:
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层物芹态到低层分别是应用程序层、应用程首咐序框架层、系统运行库层和Linux内核层。
参考资料:百度百科-android
[img]android 获取蓝牙Mac地址
android 从6.0开始,通过BluetoothAdapter.getDefaultAdapter().getAddress()获取的地址是一个固定值02:00:00:00:00:00。6.0已经对蓝牙Wi-Fi的MAC地址做了隐藏。
以下方法能正确的获取android自带蓝牙的Mac地址:
1.添加net.vidageek:mirror:1.6.1
2.实现过程
本人也尝试过其他方法获取,高喊拦比如从cat /sys/class/net/渗好wlan0/address 或者/sys/class/net/eth0/address路径获取,该方式有些手机能获取得到,有的不能或缺,戚胡获取到的Mac 地址还不一定准确。
android 获取局域网IP与MAC 地址 毫秒级(详解)
如果不想了解,请直接伸手 : android 获取局坦码域网IP与MAC 地址(精简)
开始理清思路:主要使用 linux 两个命令(2017-07-21 fix:这个思路不好,后面使用udp取代【毫秒级】)
【ping】: 查询某个ip是否被设备占用
【cat】 :文本输出命令(其实可以使用 【arp】,但手机需要root权限)
【ping】:这个我就不说了,实在不知道的,这次度娘不会骗你的。主要讲讲 【arp】:这里只简单的介绍,推荐一篇博文: Android 平台上的 ARP 和 ARP欺骗 。我们的【cat】命令主要为了输出手机本地ARP缓存表, ARP命令 可用于查询本机ARP缓稿森存中IP地址和 MAC地址 的对应关系
可以看到我们电脑中缓存的 ip地址与对应的mac地址,但我们手机上又要怎么获得呢?
哈哈其实到这里基本就结束了,也不算什么详解,目前这个方法还有个缺陷就是,耗时比较长,我计算了一下大概得花10秒才能得到局域网内的所有存在的ip与对应的mac。
还有待改善,其实想先取arp缓存,然后把arp中没有的ip地址通过ping测试,然后让敬哪再取arp缓存,这样可以减少一部分的ping测试线程,但为了保证arp中ip对应的mac永远是新的,只能每次都循环ping测试所有网段内的ip。如果有更好的想法,希望来怼我。
改变思路:使用udp来替代原先多线程ping
具体怎么玩我就不写了,他人的思路,抄袭过来,有损我英俊的形象,写的还是比较好的。
Android 单线程也能极速刷新并获取局域网设备(IP+MAC)信息, 从4分30S 优化到 0.150S 不是梦
如果觉得他的用起来麻烦,我的IpScanner类也更新了,可以直接copy使用,还是简单的。
奉上项目地址: IpSanner (一个类一个回调就搞定了,简单的)
Android之获取packageinfo相关
PackageInfo类包含AndroidManifest.xml文件的信息。
获取APP信息方式:
ApplicationInfo是android.content.pm包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;用于保存应用的标志信息。
ApplicationInfo 可以得到一个应用基本信息。这些信息是从AndroidManifest.xml的 application 标签获贺仿取的
ApplicationInfo对象里保存的信息都是application标签里的属性值
ApplicationInfo与ResolveInfo比较:前者能够得到Icon、Label、meta-data、description。后者只能得到Icon、Label
ResolveInfo这个类是通过解析一个与IntentFilter相对应乎厅的intent得到的信息。它部禅顷纤分地对应于从AndroidManifest.xml的 intent标签收集到的信息。
根据ResolveInfo对象获取APP信息:
android如何获取联络人所有资讯
android如何获取联络人所有资讯 获取联络人必须新含兆渗增许可权
uses-permission android:name="android.permission.READ_CONTACTS" /
如何获取手机联络人资讯
根据ContactsContract.Contacts.CONTENT_URI查猜脊询ContentResolver里面的资料,逐个取值即可。
如何获取sim卡的联络人资讯
根据目前查询的资讯来看,sim联络人的uri有两种:
content:i/adn
content:sim/adn
挨个去取即可。
如何获取联谈脊络人所有栏位
package .ihope.mozyhome.util;import java.util.ArrayList;import java.util.List;import .json.JSONException;import .json.JSONObject;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract.CommonDataKinds.Email;import android.provider.ContactsContract.CommonDataKinds.Event;import android.provider.ContactsContract.CommonDataKinds.Im;import android.provider.ContactsContract.CommonDataKinds.Nickname;import android.provider.ContactsContract.CommonDataKinds.Note;import android.provider.ContactsContract.CommonDataKinds.Organization;import android.provider.ContactsContract.CommonDataKinds.Phone;import android.provider.ContactsContract.CommonDataKinds.StructuredName;import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;import android.provider.ContactsContract.CommonDataKinds.Website;import android.provider.ContactsContract.Data;import android.util.Log;import .ihope.mozyhome.domain.Contacts;public class GetContactsInfo {private ListContacts list;private Context context;private JSONObject contactData;private JSONObject jsonObject;public GetContactsInfo(Context context) { this.context = context;}public String getContactInfo() throws JSONException { 获得通讯录资讯 ,URI是ContactsContract.Contacts.CONTENT_URI list = new ArrayListContacts(); contactData = new JSONObject(); String mimetype = ""; int oldrid = -1; int contactId = -1; Cursor cursor = context.getContentResolver().query(Data.CONTENT_URI,null, null, null, Data.RAW_CONTACT_ID); int numm=0; while (cursor.moveToNext()) { contactId = cursor.getInt(cursor.getColumnIndex(Data.RAW_CONTACT_ID)); if (oldrid != contactId) { jsonObject = new JSONObject(); contactData.put("contact" + numm, jsonObject); numm++; oldrid = contactId; } 取得mimetype型别 mimetype = cursor.getString(cursor.getColumnIndex(Data.MIMETYPE)); 获得通讯录中每个联络人的ID 获得通讯录中联络人的名字 if (StructuredName.CONTENT_ITEM_TYPE.equals(mimetype)) { String display_name = cursor.getString(cursor.getColumnIndex(StructuredName.DISPLAY_NAME)); String prefix = cursor.getString(cursor.getColumnIndex(StructuredName.PREFIX)); jsonObject.put("prefix", prefix); String firstName = cursor.getString(cursor.getColumnIndex(StructuredName.FAMILY_NAME)); jsonObject.put("firstName", firstName); String middleName = cursor.getString(cursor.getColumnIndex(StructuredName.MIDDLE_NAME)); jsonObject.put("middleName", middleName); String lastname = cursor.getString(cursor.getColumnIndex(StructuredName.GIVEN_NAME)); jsonObject.put("lastname", lastname); String suffix = cursor.getString(cursor.getColumnIndex(StructuredName.SUFFIX)); jsonObject.put("suffix", suffix); String phoicFirstName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_FAMILY_NAME)); jsonObject.put("phoicFirstName", phoicFirstName); String phoicMiddleName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_MIDDLE_NAME)); jsonObject.put("phoicMiddleName", phoicMiddleName); String phoicLastName = cursor.getString(cursor.getColumnIndex(StructuredName.PHONETIC_GIVEN_NAME)); jsonObject.put("phoicLastName", phoicLastName); } 获取电话资讯 if (Phone.CONTENT_ITEM_TYPE.equals(mimetype)) { 取出电话型别 int phoneType = cursor.getInt(cursor.getColumnIndex(Phone.TYPE)); 手机 if (phoneType == Phone.TYPE_MOBILE) { String mobile = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("mobile", mobile); } 住宅电话 if (phoneType == Phone.TYPE_HOME) { String homeNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("homeNum", homeNum); } 单位电话 if (phoneType == Phone.TYPE_WORK) { String jobNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("jobNum", jobNum); } 单位传真 if (phoneType == Phone.TYPE_FAX_WORK) { String workFax = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("workFax", workFax); } 住宅传真 if (phoneType == Phone.TYPE_FAX_HOME) { String homeFax = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("homeFax", homeFax); } 寻呼机 if (phoneType == Phone.TYPE_PAGER) { String pager = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("pager", pager); } 回拨号码 if (phoneType == Phone.TYPE_CALLBACK) { String quickNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("quickNum", quickNum); } 公司总机 if (phoneType == Phone.TYPE_COMPANY_MAIN) { String jobTel = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("jobTel", jobTel); } 车载电话 if (phoneType == Phone.TYPE_CAR) { String carNum = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("carNum", carNum); } ISDN if (phoneType == Phone.TYPE_ISDN) { String isdn = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("isdn", isdn); } 总机 if (phoneType == Phone.TYPE_MAIN) { String tel = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("tel", tel); } 无线装置 if (phoneType == Phone.TYPE_RADIO) { String wirelessDev = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("wirelessDev", wirelessDev); } 电报 if (phoneType == Phone.TYPE_TELEX) { String telegram = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("telegram", telegram); } TTY_TDD if (phoneType == Phone.TYPE_TTY_TDD) { String tty_tdd = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("tty_tdd", tty_tdd); } 单位手机 if (phoneType == Phone.TYPE_WORK_MOBILE) { String jobMobile = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("jobMobile", jobMobile); } 单位寻呼机 if (phoneType == Phone.TYPE_WORK_PAGER) { String jobPager = cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); jsonObject.put("jobPager", jobPager); } 其他通讯地址 if (postalType == StructuredPostal.TYPE_OTHER) { String otherStreet = cursor.getString(cursor.getColumnIndex(StructuredPostal.STREET)); jsonObject.put("otherStreet", otherStreet); String otherCity = cursor.getString(cursor.getColumnIndex(StructuredPostal.CITY)); jsonObject.put("otherCity", otherCity); String otherBox = cursor.getString(cursor.getColumnIndex(StructuredPostal.POBOX)); jsonObject.put("otherBox", otherBox); String otherArea = cursor.getString(cursor.getColumnIndex(StructuredPostal.NEIGHBORHOOD)); jsonObject.put("otherArea", otherArea); String otherState = cursor.getString(cursor.getColumnIndex(StructuredPostal.REGION)); jsonObject.put("otherState", otherState); String otherZip = cursor.getString(cursor.getColumnIndex(StructuredPostal.POSTCODE)); jsonObject.put("otherZip", otherZip); String otherCountry = cursor.getString(cursor.getColumnIndex(StructuredPostal.COUNTRY)); jsonObject.put("otherCountry", otherCountry); } } } cursor.close(); Log.i("contactData", contactData.toString()); return contactData.toString();}}
拍拍贷如何获取联络人
拍拍贷app 可以获取你的通讯录,新浪有借也一样
而且更加好用
它的话是利息按日计,随时还款。
而一般的网贷如借10000,按照目前不低的年化收益率10%来计算的话, 一个月利息是83左右。 计算公式你记一下 10000x10%=1000(这里得出的是一年的收益) 1000/12=83 (除以12个月,才得到你一个月的)
微锁屏获取联络人资讯有风险吗?
国内的很多软体都申请了很多不需要的许可权,锁屏软体应该是不需要读取联络人资讯的,可以安装一些软体取消锁屏软体的读取联络人许可权。
android怎么获取联络人头像
图片必须先编辑成正方形,或你的联络人有自动减取功能,不然头像肯定变形!
手机常显示易信正在尝试获取联络人资讯
这应该是易信在读取你的联络人,以便获取已经用手机号码注册了易信的手机上的联络人,可以考虑解除安装易信(如果不经常用的话)其实很多软体都喜欢读取个人资讯。。
为什么百度HI新增联络人时总是正在获取联络人资讯?
应该是网速慢,如果你确定你的网速正常,那有可能是百度系统出错了。
我也遇到过这种情况。
还有一种可能,就是你新增的联络人不存在,或名字输入错误。
什么软体可以汇出联络人所有资讯
360手机卫士、qq都提供了云端备份通讯录的功能。现在备份到云端伺服器上是最安全的,永远不会丢失,换手机前备份一下,新手机上就可以下载到。平日经常备份联络人资讯,安全可靠有保障。
android开发怎样获取通讯录联络人资讯
public class ContactsActivity extends ListActivity {
Context mContext = null;
/**获取库Phon表字段**/
private static final String[] PHONES_PROJECTION = new String[] {
Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID,Phone.CONTACT_ID };
/**联络人显示名称**/
private static final int PHONES_DISPLAY_NAME_INDEX = 0;
/**电话号码**/
private static final int PHONES_NUMBER_INDEX = 1;
/**头像ID**/
private static final int PHONES_PHOTO_ID_INDEX = 2;
/**联络人的ID**/
private static final int PHONES_CONTACT_ID_INDEX = 3;
/**联络人名称**/
private ArrayListString mContactsName = new ArrayListString();
/**联络人头像**/
private ArrayListString mContactsNumber = new ArrayListString();
/**联络人头像**/
private ArrayListBitmap mContactsPhonto = new ArrayListBitmap();
ListView mListView = null;
MyListAdapter myAdapter = null;
@Override
public void onCreate(Bundle savedInstanceState) {
mContext = this;
mListView = this.getListView();
/**得到手机通讯录联络人资讯**/
getPhoneContacts();
myAdapter = new MyListAdapter(this);
setListAdapter(myAdapter);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView? adapterView, View view,
int position, long id) {
呼叫系统方法拨打电话
Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri
.parse("tel:" + mContactsNumber.get(position)));
startActivity(dialIntent);
}
});
super.onCreate(savedInstanceState);
}
/**得到手机通讯录联络人资讯**/
private void getPhoneContacts() {
ContentResolver resolver = mContext.getContentResolver();
获取手机联络人
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
当手机号码为空的或者为空栏位 跳过当前回圈
if (TextUtils.isEmpty(phoneNumber))
continue;
得到联络人名称
String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);
得到联络人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
得到联络人头像ID
Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);
得到联络人头像Bitamp
Bitmap contactPhoto = null;
photoid 大于0 表示联络人有头像 如果没有给此人设定头像则给他一个预设的
if(photoid 0 ) {
Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri);
contactPhoto = BitmapFactory.decodeStream(input);
}else {
contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);
}
mContactsName.add(contactName);
mContactsNumber.add(phoneNumber);
mContactsPhonto.add(contactPhoto);
}
phoneCursor.close();
}
}
/**得到手机SIM卡联络人人资讯**/
private void getSIMContacts() {
ContentResolver resolver = mContext.getContentResolver();
获取Sims卡联络人
Uri uri = Uri.parse("content:i/adn");
Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null,
null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
当手机号码为空的或者为空栏位 跳过当前回圈
if (TextUtils.isEmpty(phoneNumber))
continue;
得到联络人名称
String contactName = phoneCursor
.getString(PHONES_DISPLAY_NAME_INDEX);
Sim卡中没有联络人头像
mContactsName.add(contactName);
mContactsNumber.add(phoneNumber);
}
phoneCursor.close();
}
}
class MyListAdapter extends BaseAdapter {
public MyListAdapter(Context context) {
mContext = context;
}
public int getCount() {
设定绘制数量
return mContactsName.size();
}
@Override
public boolean areAllItemsEnabled() {
return false;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView iamge = null;
TextView title = null;
TextView text = null;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(
R.layout.colorlist, null);
iamge = (ImageView) convertView.findViewById(R.id.color_image);
title = (TextView) convertView.findViewById(R.id.color_title);
text = (TextView) convertView.findViewById(R.id.color_text);
}
绘制联络人名称
title.setText(mContactsName.get(position));
绘制联络人号码
text.setText(mContactsNumber.get(position));
绘制联络人头像
iamge.setImageBitmap(mContactsPhonto.get(position));
return convertView;
}
}
}
android如何获取相机分辨率?
安卓系统在获取相机分辨率时,可以参考SDK中的API,获取相机的参数:
Camera.Parameters parameters = camera.getParameters();
获取预览的各种分辨率:
ListSize supportedPreviewSizes = parameters.getSupportedPreviewSizes();
获取摄像头支持的各种分辨率:
ListSize supportedPictureSizes = parameters.getSupportedPictureSizes();
例如:获取照相机参数,设置需要的参数,其余缺省
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
设置照片格式:芹笑
parameters.setPictureFormat(PixelFormat.JPEG);
设置预浏尺寸,注意要在摄像头支持的范围内选择:
parameters.setPreviewSize(WIDTH, HEIGHT);
设置照片分辨率,注意要在摄像头支持的范围内选择
parameters.setPictureSize(WIDTH, HEIGHT);
设置照相机参数:
camera.setParameters(parameters);
开始拍颤弯照:
camera.startPreview();
以上就是获取相机分辨率的步骤。
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟嫌洞含领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
关于android获取和android获取文件路径和文件名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。