当前位置:  编程技术>移动开发
本页文章导读:
    ▪在不root手机的情况上读取Data目录上的文件        在不root手机的情况下读取Data目录下的文件使用adb命令时的错误 如果直接使用adb命令会产生以下错误: 127|shell@android:/ $ cd /data cd /data shell@android:/data $ ls ls opendir failed, Permission denied你是没有权.........
    ▪ 安全卫士第三天-20来点后展示手机归属地        安全卫士第三天--20来点后显示手机归属地   实现思路: 1用Service 监听来电  2 用WindowManager作为显示 3把号码归属地放入数据库   public class AddressService extends Service {  public static final String TAG =.........
    ▪ win8中的”MessageBox“的兑现       win8中的”MessageBox“的实现 MessageDialog dlg = new MessageDialog("删除成功","提示");//“删除成功”是弹出的提示,"提示"是一个标题 dlg.ShowAsync(); 右边的“关闭”按钮还是比较人性化的,方便触摸操.........

[1]在不root手机的情况上读取Data目录上的文件
    来源: 互联网  发布时间: 2014-02-18
在不root手机的情况下读取Data目录下的文件
使用adb命令时的错误
如果直接使用adb命令会产生以下错误:
127|shell@android:/ $ cd /data
cd /data
shell@android:/data $ ls
ls
opendir failed, Permission denied
你是没有权限的。
正确使用adb读取data目录下的文件方式
shell@android:/data $ run-as com.your.package
run-as com.your.package
shell@android:/data/data/com.your.package $ cd /data/data/com.your.package
cd /data/data/com.your.package
shell@android:/data/data/com.your.package $ ls
ls
cache
databases
lib
shared_prefs
shell@android:/data/data/com.your.package $ cd databases
cd databases
shell@android:/data/data/com.your.package/databases $ ls
yourpackagename.db
$ cat preferences.db > /mnt/sdcard/yourpackagename.db   
将你要访问的package目录下的db文件拷贝到sdcard中,这样就可以正常访问了!
参考资料
Read Android Data Folder Without Rooting




    
[2] 安全卫士第三天-20来点后展示手机归属地
    来源: 互联网  发布时间: 2014-02-18
安全卫士第三天--20来点后显示手机归属地

 

实现思路: 1用Service 监听来电  2 用WindowManager作为显示 3把号码归属地放入数据库

 

public class AddressService extends Service {
 public static final String TAG = "AddressService";
 private TelephonyManager manager;
 private MyPhoneListener listener;
 private WindowManager windowmanager ;
 private SharedPreferences sp;
 private View view;
 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
  return null;
 }

 @Override
 public void onCreate() {
  super.onCreate();
  listener = new MyPhoneListener();
  sp = getSharedPreferences("config", MODE_PRIVATE);
     windowmanager = (WindowManager) this.getSystemService(WINDOW_SERVICE);
  // 注册系统电话管理服务的监听器
  manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
  manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
 }

 private class MyPhoneListener extends PhoneStateListener{

  // 电话状态发生改变的时候 调用的方法
  @Override
  public void onCallStateChanged(int state, String incomingNumber) {
   super.onCallStateChanged(state, incomingNumber);
   switch (state) {
   case TelephonyManager.CALL_STATE_IDLE: // 处于静止状态: 没有呼叫
    if(view!=null){
    windowmanager.removeView(view);
    view = null;
    }
    // 再获取一次系统的时间
    break;

   case TelephonyManager.CALL_STATE_RINGING: // 零响状态
    Log.i(TAG,"来电号码为"+ incomingNumber);
    String address = NumberAddressService.getAddress(incomingNumber);
    Log.i(TAG,"归属地为"+ address);
    //Toast.makeText(getApplicationContext(), "归属地为"+ address, 1).show();
    showLoaction(address);
    // 获取一下当前系统的时间
    
    break;
   case TelephonyManager.CALL_STATE_OFFHOOK: //接通电话状态
    if(view!=null){
    windowmanager.removeView(view);
    view = null;
    }
    break;
   }
   
  }
  
 }

 @Override
 public void onDestroy() {
  super.onDestroy();
  manager.listen(listener, PhoneStateListener.LISTEN_NONE);
  listener = null;
 }

 /**
  * 在窗体上显示出来位置信息
  * @param address
  */
 public void showLoaction(String address) {
        WindowManager.LayoutParams params = new LayoutParams();
        params.height = WindowManager.LayoutParams.WRAP_CONTENT;
        params.width = WindowManager.LayoutParams.WRAP_CONTENT;
        params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
        params.format = PixelFormat.TRANSLUCENT;
        params.type = WindowManager.LayoutParams.TYPE_TOAST;
        params.setTitle("Toast");
        params.gravity = Gravity.LEFT | Gravity.TOP;//如果不指定,默认是居中的。

        params.x =     sp.getInt("lastx", 0);
        params.y =     sp.getInt("lasty", 0);
       
       
        view = View.inflate(getApplicationContext(), cn.itcast.mobilesafe.R.layout.show_location, null);
        LinearLayout ll = (LinearLayout) view.findViewById(R.id.ll_location);
       
       
       
        int backgroundid = sp.getInt("background", 0);
        if(backgroundid==0){
         ll.setBackgroundResource(R.drawable.call_locate_gray);
        }else if(backgroundid==1){
         ll.setBackgroundResource(R.drawable.call_locate_orange);
        }else {
         ll.setBackgroundResource(R.drawable.call_locate_green);
        }
       
        TextView tv = (TextView) view.findViewById(R.id.tv_location);
        tv.setTextSize(24);
        tv.setText(address);
        windowmanager.addView(view , params);
 }
 
}

 


    
[3] win8中的”MessageBox“的兑现
    来源: 互联网  发布时间: 2014-02-18
win8中的”MessageBox“的实现

前不久一个朋友问在win8中有没有MessageBox来弹出一个对话框提示,当时也不知道,今天发现了MessageDialog才知道可以这样子操作;在win8中是没有对话框的概念了的,

MessageDialog实际上弹出的是一个层,我们可以通过这些代码来实现这个弹出层的功能:

MessageDialog dlg = new MessageDialog("删除成功","提示");//“删除成功”是弹出的提示,"提示"是一个标题
dlg.ShowAsync();

实现的效果如下图:

右边的“关闭”按钮还是比较人性化的,方便触摸操作。



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3