android 實現手機方向識別
//自定義導航圖示
private BitmapDescriptor mIconLocation;
//自定義感測器implements SensorEventListener
private MyOrientationListener myOrientationListener;
//把監聽的x方向的值儲存到這裡
private float mCurrentX;
//初始化圖示
mIconLocation = BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher);
//初始化回撥介面
myOrientationListener = new MyOrientationListener(getApplicationContext());
//設定回撥介面
myOrientationListener.setOnOrientationListener(new OnOrientationListener() {
@Override
public void OnOrientationChanged(float x) {
// TODO Auto-generated method stub
//回撥介面的值存入mCurrentX
mCurrentX=x;
}
});
在Activity的生命週期裡面實現 與 方向識別的生命週期同步
start方法裡面
//方向識別開始
myOrientationListener.start();
stop方法裡面
//停止方向感測器
myOrientationListener.stop();
在本地資料設定裡面
MyLocationData data = new MyLocationData.Builder()
//設定方向
.direction (mCurrentX)
//設定自定義圖示
MyLocationConfiguration config = new MyLocationConfiguration(com.baidu.mapapi.map.MyLocationConfiguration.LocationMode.NORMAL,
true, mIconLocation);
mBaiduMap.setMyLocationConfigeration(config);
下面是感測器監聽的實現程式碼
public class MyOrientationListener implements SensorEventListener{
//用來獲取Seosor
private SensorManager mSensorManager;
private Sensor mSensor;
private Context mcontext;
private float lastX;
private OnOrientationListener mOnOrientationListener;
public MyOrientationListener(Context context) {
super();
context=this.mcontext;
}
@SuppressWarnings("deprecation")
//開啟監聽的方法
public void start(){
mSensorManager = (SensorManager) mcontext.getSystemService(Context.SENSOR_SERVICE);
if(mSensorManager!=null){
mSensor = mSensorManager.getDefaultSensor(SensorManager.SENSOR_ORIENTATION);
}
if(mSensor!=null){
//註冊監聽
mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_UI);
}
}
//停止監聽的方法
public void stop(){
mSensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
}
@Override
public void onSensorChanged(SensorEvent event) {
//拿到方向感測器 if(event.sensor.getType()==Sensor.TYPE_ORIENTATION){
float x = event.values[SensorManager.DATA_X];
//如果移動超過一個精度則轉向
if(Math.abs(x-lastX)>1.0){
if(mOnOrientationListener!=null){
mOnOrientationListener.OnOrientationChanged(x);
}
}
lastX =x;
}
}
public void setOnOrientationListener(OnOrientationListener mOnOrientationListener) {
this.mOnOrientationListener = mOnOrientationListener;
}
//定義回撥介面
public interface OnOrientationListener{
//傳遞改變的監聽的x方向的值
void OnOrientationChanged(float x);
}
}
相關推薦
android 實現手機方向識別
//自定義導航圖示 private BitmapDescriptor mIconLocation; //自定義感測器implements SensorEventListener private MyOrientationListener myOrientat
OpenVPN For Android實現手機刷Twitter
筆者有時候也會刷刷Twitter,或者上Facebook吹吹牛逼,目前的Android對於VPN支援實在是渣渣,用了很多免費的VPN方案都讓人慾哭無淚。於是有了自己弄一套VPN的想法,以實現筆者刷刷Twitter,吹吹牛逼的夢想! 基本配置: 1
android實現垂直方向跑馬燈效果
因為最近公司要做一個抽獎功能,裡面有一個模組就是中獎使用者,對中獎使用者實現垂直方向跑馬燈效果,最先的思想方式是類似歌詞,做了n久,發現刷屏時間會有問題,特自己寫了一個控制元件,希望能幫到大家 “` package com.demo.xsl.text; i
Android獲取手機裝置識別碼(IMEI)和手機號碼
最近看了下獲取手機裝置ID和手機資訊以及SIM的資訊例子,主要還是借鑑別人的,現在自己寫一下,算是鞏固加深了,也希望能給大家一個參考 必要的條件還是一部真機,SIM卡或者UIM卡。 首先,在AndroidMainfest.xml裡獲取許可權 <uses-permiss
android 獲取手機唯一識別碼
//如果獲取不到imsi號,就拼接其它資訊獲取唯一碼: 結論是,依然有部分手機獲取不到。 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context
android-實現手機截圖效果,儲存截圖圖片
一、準備一張圖片 拷貝screenshot_panel.9.png放在目錄drawable-xhdpi下 二、activity_main.xml 程式碼如下: <RelativeLayout xmlns:android="http://schemas.andro
Android獲取手機方向
如果使用者開啟了設定裡的螢幕旋轉,Android中處理橫豎屏切換,通常的做法是在AndroidManifest.xml中定義android:configChanges="orientation|key
android實現異網雙卡雙待識別運營商網路
檢測的程式碼 private void checkIMSi() { boolean simStateBySlotIdx = SimUtils.getSimStateBySlotIdx(this, 0); &n
Android USB串列埠攝像頭實現拍照與識別二維碼
二維碼現在用的超級多,其實它就是一種編碼,把字串編碼儲存成一個圖片,我們掃描圖片得到字串就解碼成功。 最有名的二維碼解析庫是 google 出品的 Zxing,網上也有很多的封裝庫,有自定義掃描視窗等,更多庫請在這個庫中搜索 二維碼即可 USBUVCCa
android 呼叫手機打電話 簡單實現 ,
首先看下佈局xml ,我的事一個button按鈕 點選 打電話 ,手機號是自己定義,這個你可以根據自己邏輯寫 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas
android實現一鍵切換顯示方向
android實現一鍵切換顯示方向 功能要求:點選 button,一鍵實現顯示方向0和180度切換 IWindowManager mWm; mWm = IWindowManager.Stub.asInterface(ServiceManager.getService("window"
Android實現搖晃手機的監聽(搖一搖)
背景 專案中,需要在某些介面監聽使用者搖晃動作做出相應的反應。下面分Kotlin和Java兩種給出具體的程式碼。 實現方案(Kotlin) 新增SensorManagerHelper.kt class SensorManagerHelper(private
android端實現手機定位百度地圖實現
單獨無聊的單機程式並沒有意思,我們何不在程式裡面加上有趣的網路呢, 這次我們主要是講關於Android手機的定位系統,本次使用的是百度定位。 下面表格是提供的兩個我們後面需要的地址 百度定位下載地址 http://lbsyun.baidu.co
使用ffmepg實現手機直播功能(Android)
客戶端的話最主要就是使用ffmpeg。 接下來要講的就是從ffmpeg的編譯開始,到編碼,以及推流,到解碼等過程。 ffmpeg的編譯 懂英文看這裡就行:ubuntu下的編譯指南 ffmpeg的編譯需要linux環境,我這裡使用的是虛擬機器(vmwa
Android呼叫手機中的應用市場,實現評分功能
需求很簡單,通過手機中的按鈕開啟手機中安裝的應用市場,給自己的app評分,實現程式碼如下: String packageName = getPackageName(); //開啟所有安裝的市場 Uri uri = Uri.parse("market://details?id="+ p
ubuntu Android開發eclipse不識別手機解決方法!(附步步高vivo解決方法)
也是花了我好久時間,最終才找到一個完整且簡單還可以直接見效的好方法。 方法兩個: 如果您的手機是比較好的大廠商牌子,如Moto,三星..什麼的,那麼就按部就班即可: 在終端輸入 sudo gedit /etc/udev/rules.d/51-android.rules在開
android 程式碼實現手機自動恢復出廠設定不需要許可權
需要啟用成為裝置管理器 DevicePolicyManager mDPM; boolean active = mDPM.isAdminActive(mDeviceAdminSample); if (active) {mDPM.wipeData(0);}
基於EasyPR的車牌識別android實現
EasyPR4Android,基於EasyPR1.5beta的android實現 更新: 新增編譯好的安裝檔案 採用android studio2.3.3大幅簡化ndk開發的配置 特性: 1.支援拍照和支援相簿瀏覽識別 2.ndk呼叫OpenCV 3.從
Android 開啟手機淘寶,並自動識別淘口令,彈出商品資訊
前言:大家都遇到過被莫名其妙拉進一個微信群,然後群主開始發一些商品的連結,我們點選這個連結,會讓我們複製一個口令(就像這個¥AzZK0hPyou5¥),當我們複製這個口 令開啟淘寶會自動彈出這個商品的資訊。今天,就來和大家分享一下,這個需求是如何實現的。 1.首先我們需要
android 藍芽通訊實現手機藍芽的開啟,並掃描附近可見的藍芽裝置
藍芽是一種重要的短距離無線通訊協議,廣泛應用於各種裝置(手機,醫療,汽車等)。藍芽是比較常用的無線通訊裝置,早研究成為手機的標配。現在的安卓手機基本上都有藍芽,所有通過藍芽對資料有很好的硬體基礎 在Android中,與藍芽有關的類和介面在android.bluetooth包