浅析Android手机卫士保存手机安全号码
作者:陶士涵 发布时间:2021-08-17 20:02:52
标签:android,保存,手机号码,手机卫士
推荐阅读:
浅析Android手机卫士sim卡绑定
深入浅析Android手机卫士保存密码时进行md5加密
详解Android 手机卫士设置向导页面
浅析Android手机卫士关闭自动更新
浅析Android手机卫士自定义控件的属性
浅析Android手机卫士读取联系人
调用ListView对象的setOnItemClickListener()方法,设置条目的点击事件,参数:OnItemClickListener对象
使用匿名内部类实现,重写onClick()方法,传递进来的参数:ListView,当前View,position,id
根据索引位置把当前这条电话号码传回去
调用List对象的get()方法,得到Map,调用get(key)方法,得到这条电话
调用setResult()方法,返回去数据,参数:响应码,Intent对象
获取Intent对象,new出来
调用Intent对象的putExtra(key,val),把电话放进去
调用finish()方法关闭当前页面
开启这个的activity使用的是startActivityForResult()
重写onActivityResult()方法,传递进来Intent对象
判断Intent对象是否为null
调用Intent对象的getStringExtra()方法,获取到电话号码
把电话放在Edittext上,当点击下一步的时候保存到SP中
activity
package com.qingguow.mobilesafe;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class SecGuide3Activity extends BaseSecGuideActivity {
private EditText et_sec_phone;
private SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lost_find3);
et_sec_phone = (EditText) findViewById(R.id.et_sec_phone);
sp = getSharedPreferences("config", MODE_PRIVATE);
String phone = sp.getString("secphone", "");
et_sec_phone.setText(phone);
}
public void nextStep(View v) {
showNext();
}
public void preStep(View v) {
showPre();
}
@Override
public void showPre() {
Intent intent = new Intent(this, SecGuide2Activity.class);
startActivity(intent);
finish();
}
@Override
public void showNext() {
String phone = et_sec_phone.getText().toString().trim();
if (TextUtils.isEmpty(phone)) {
Toast.makeText(this, "请填写安全号码", 1).show();
return;
}
Editor editor = sp.edit();
editor.putString("secphone", phone);
editor.commit();
Intent intent = new Intent(this, SecGuide4Activity.class);
startActivity(intent);
finish();
}
/**
* 选择联系人
*/
public void selectContacts(View v) {
Intent intent = new Intent(this, SelectContactsActivity.class);
startActivityForResult(intent, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (data != null) {
String phone = data.getStringExtra("phone").replace("-", "")
.replace(" ", "");
et_sec_phone.setText(phone);
}
}
}
SelectContactsActivity
package com.qingguow.mobilesafe;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import com.qingguow.mobilesafe.utils.PhoneContactsUtil;
/**
* 选择联系人
* @author taoshihan
*
*/
public class SelectContactsActivity extends Activity {
private ListView lv_select_contacts;
private List<Map<String,String>> contacts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select_contacts);
lv_select_contacts=(ListView) findViewById(R.id.lv_select_contacts);
contacts=PhoneContactsUtil.getContacts(this);
lv_select_contacts.setAdapter(new SimpleAdapter(this, contacts, R.layout.select_contacts_item, new String[]{"name","phone"}, new int[]{R.id.tv_contact_name,R.id.tv_contact_phone}));
lv_select_contacts.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
String phone=contacts.get(position).get("phone");
Intent data=new Intent();
data.putExtra("phone", phone);
setResult(0, data);
finish();
}
});
}
}
0
投稿
猜你喜欢
- 序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态,以便在需要时重新创建该对象;反序列化
- 对不起大家,昨天文章里的告别说早了,这个系列还不能就这么结束。我们前面的文章中讲解过RabbitMQ的用法,所谓MQ就是一种发布订阅模式的消
- 上篇教程回顾ServerSocket --监听客户端的连接,他的作用主要是建立一个连接-ServerSocket -建立连接,拿到一个Soc
- Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口)、Org.apache接口和Android.n
- WPF的ImageBrush是一个比较常见也比较复杂的笔刷,它继承自图块笔刷(TileBrush)。使用图块画笔绘制区域涉及以下三个组成部分
- 数组array和集合的区别:(1) 数值是大小固定的,同一数组只能存放一样的数据。(2) java集合可以存放不固定的一组数据(3) 若程序
- 之前做过用java读取word文档,获取word文本内容。但发现docx的支持,doc就异常了。后来找了很多资料发现是解析方法不一样。首先要
- 这周在做公司的一个C#项目中,要写一个webservice提供一个下载方法,之前公司有过,但是要整改,于是这种鸟屎摊子又交给了我,其中一个密
- 前言 短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天
- @RequestBody配合@Valid校验入参参数自定义一个Controllerimport com.example.demo.pojo.
- 前言本文主要介绍了如果通过输入年份月份输出天数的相关内容,下面话不多说了,来一起看看详细的介绍吧示例代码package com.ambow.
- 前言本文主要介绍其具体的实现思路(视频仅有代码输入,并无过程介绍等),同时,在原本实现的基础上,进行了多处修改和优化,具体参见下面的内容。优
- 简介我们在开发web应用的时候,有时候为了适应浏览器大小的调整,需要动态对页面的组件进行位置的调整。这时候就会用到flow layout,也
- 一、介绍1、"Lambda表达式"是一个特殊的匿名函数,简化了匿名委托的使用,是一种高效的类似于函数式编程的表达式,La
- 1.string是引用类型还是值类型MSDN官方说string是引用类型;引用类型:引用分配栈内存,引用类型本身的数据存储在堆中;值类型:在
- 冒泡排序原理①比较相邻的元素,如果前一个元素比后一个元素大,则交换这两个元素的位置②对每一对相邻的元素循环上面的步骤,最终最后面的元素就是最
- 一、什么是RestTemplate?RestTemplate 是一个HTTP客户端,在Spring Cloud的服务调用方使用它我们可以方便
- 目录1 CyclicBarrier方法说明2 CyclicBarrier实例3 CyclicBarrier源码解析CyclicBarrier
- java 多线程的几种实现方法总结1.多线程有几种实现方法?同步有几种实现方法?多线程有两种实现方法,分别是继承Thread类与实现Runn
- 一,授权认证客户端请求服务器时,需要通过授权认证许可,方能获取服务器资源,目前比较常见的认证方式有 Basic 、JWT、Cookie。Ht