左右滑动切换Activity_绑定SIM_BroadcastReceiver监听手机重启

知识点:

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("手机危险!!!");
			}
		
		}	
	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值