左右滑动切换Activity_绑定SIM_BroadcastReceiver监听手机重启
2016-02-25 13:57
302 查看
知识点:
1 左右滑屏切换Activity功能2 绑定SIM卡
3 使用broadcastreceiver实现监听手机重启功能
1 左右滑屏切换Activity
利用GestureDetector可方便的判断左右滑屏以及滑屏速度等功能,注意:需要将声明的GestureDetector给onTouchEvent事件才能检测到滑屏事件的产生。在一个方法中声明GestureDetector,并匿名内部类填写onGestureListener:
private GestureDetector gestureDetector;
gestureDetector = new GestureDetector(this, new OnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if((e2.getRawX()-e1.getRawX())>200) //向右滑动
{
showperviouspage();
}
if((e1.getRawX()-e2.getRawX())>200) //向左滑动
{
shownextpage();
}
return false;
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
});
将gestureDetector传给OnTouchEvent:
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
2 绑定SIM卡
1 对于SiM卡的绑定用到了系统的函数,其实就是读取SIM卡中的序列号,并使用SharedPreferences保存。得到手机SIM卡序列号:
TelephonyManager telephony = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String simSerialNumber = telephony.getSimSerialNumber();
2 将数据储存在SharedPreferences:
sharedPreferences.edit().putString("sim", simSerialNumber).commit();
3 删除SharedPreferences:
sharedPreferences.edit().remove("sim").commit();
得到读取权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
3 使用broadcastreceiver实现监听手机重启功能
1 获得重启监听权限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
2 设置intent-filter:
<receiver android:name="com.example.mobliesoft.receive.BootCompleteRecevier">
<intent-filter>
<!-- 监听开机事件 -->
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
3 编写一个类继承broadcastreceiver
package com.example.mobliesoft.receive;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
public class BootCompleteRecevier extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent arg1) {
// TODO Auto-generated method stub
SharedPreferences sharedPreferences = context.getSharedPreferences("config", context.MODE_PRIVATE);
String sim = sharedPreferences.getString("sim", null);
System.out.println("接收到广播监听!!!");
if(!TextUtils.isEmpty(sim))
{
TelephonyManager Sim_card = (TelephonyManager) context.getSystemService(context.TELEPHONY_SERVICE);
String simSerialNumber = Sim_card.getSimSerialNumber();
if(simSerialNumber.equals(sim))
{
System.out.println("手机安全!!!");
}
else
{
System.out.println("手机危险!!!");
}
}
}
}
相关文章推荐
- Unity 实现倒计时 协程
- 收集好用的在线富文本编辑器
- 2016年回顾过去
- Excel四舍六入五单双公式
- Docker镜像
- Intent详解 (一) : 显式Intent
- POJ 1033
- 安卓开发 弹出对话框,然后自动消失
- redis 入门
- PSYoungGen /PSOldGen/PSPermGen区别
- Cookie与Session的区别
- hdu1085 多重部分和问题
- x264源码分析与应用示例(一)——视频编码基本流程
- 百万级访问量网站的技术准备工作
- register(cp:http://blog.sina.com.cn/s/blog_6a1837e90101128k.html)
- 哈理工OJ 2284 Sign Deliveries(结构体排序)
- 同一线程内多Handler使用浅析
- BZOJ2038 [2009国家集训队] 小Z的袜子(hose)
- JQuery 中 is(':visible') 解析及用法
- Unity调用Android保存图片到相册