免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
[安卓] 15、用NFC解鎖手機(jī)并自動(dòng)打開(kāi)應(yīng)用

 

 

最近接到一個(gè)項(xiàng)目:將手機(jī)放到一個(gè)帶有NFC卡的底座上手機(jī)會(huì)自動(dòng)解鎖,然后打開(kāi)相應(yīng)的應(yīng)用

本人用:杭州公交通用卡做為NFC卡+Coolpad手機(jī)進(jìn)行試驗(yàn)

效果如下:

 1、手機(jī)本身帶有圖案鎖,輸對(duì)圖案才能解鎖

 2、Coolpad帶有NFC功能

 3、把手機(jī)內(nèi)的所有正在運(yùn)行的應(yīng)用清空

 4、關(guān)閉手機(jī)(目前處于鎖住狀態(tài))

 5、將NFC卡靠近

 6、自動(dòng)解鎖+啟動(dòng)應(yīng)用

 

 

 

注:我用華為的手機(jī)無(wú)法實(shí)現(xiàn)突破鎖屏、打開(kāi)應(yīng)用的效果

 

工程核心代碼

整個(gè)代碼比較簡(jiǎn)單:(新建一個(gè)工程)在AndroidManifest.xml加入uses-feature和permission

同時(shí)還要在相應(yīng)的activity中加入intent-filter,這里注意一定要加:<category android:name="android.intent.category.DEFAULT" />

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3     package="com.beautifulzzzz.nfc_test" 4     android:versionCode="1" 5     android:versionName="1.0" > 6  7     <uses-sdk 8         android:minSdkVersion="14" 9         android:targetSdkVersion="19" />10 11   <!--12         see http://www.developer.com/ws/android/nfc-programming-in-android.html for reference (note13         that the minimum API version must be set as 10 in build.gradle (Module: app) for this to work,14         and that classes being used from the nfc package require a minimum API version 14):15     -->16     <uses-feature17         android:name="android.hardware.nfc"18         android:required="true" />19     <uses-permission android:name="android.permission.NFC" />20     21     <uses-permission android:name="android.permission.WAKE_LOCK"/>    22     <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>  23 24     <application25         android:allowBackup="true"26         android:icon="@drawable/ic_launcher"27         android:label="@string/app_name"28         android:theme="@style/AppTheme" >29         <activity30             android:name=".Activity_Main"31             android:label="@string/app_name" >32             <intent-filter>33                 <action android:name="android.intent.action.MAIN" />34                 <category android:name="android.intent.category.LAUNCHER" />35             </intent-filter>                36             37             <intent-filter>38                 <action android:name="android.nfc.action.TAG_DISCOVERED" />39                 <category android:name="android.intent.category.DEFAULT" />40             </intent-filter>  41         </activity>42     </application>43 44 </manifest>

Activity中也比較簡(jiǎn)單——

onCreate中檢測(cè)硬件是否支持和是否打開(kāi)NFC

onResume中通過(guò)getIntent().getAction()獲取當(dāng)前的action然后顯示在UI的文本顯示區(qū)中

  第34-48行是沖破圖案鎖,電量屏幕用的

 1 public class Activity_Main extends Activity { 2  3     NfcAdapter nfcAdapter;   4     TextView promt;   5     @Override   6     public void onCreate(Bundle savedInstanceState) {   7         super.onCreate(savedInstanceState);   8         setContentView(R.layout.ui_main);  9         promt = (TextView) findViewById(R.id.promt);  10         // 獲取默認(rèn)的NFC控制器  11         nfcAdapter = NfcAdapter.getDefaultAdapter(this);  12         if (nfcAdapter == null) {  13             promt.setText("設(shè)備不支持NFC!");  14             System.out.println("設(shè)備不支持NFC!");  15             finish();  16             return;  17         }  18         if (!nfcAdapter.isEnabled()) {  19             promt.setText("請(qǐng)?jiān)谙到y(tǒng)設(shè)置中先啟用NFC功能!");  20             System.out.println("請(qǐng)?jiān)谙到y(tǒng)設(shè)置中先啟用NFC功能!");  21             finish();  22             return;  23         }24         promt.setText("正常啟用APP!");  25         System.out.println("正常啟用APP!"); 26     }  27   28     @Override  29     protected void onResume() {  30         super.onResume(); 31         promt.setText(getIntent().getAction());  32         System.out.println("正常啟用APP!"); 33         34         PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);  35         //獲取電源管理器對(duì)象  36         PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");  37         //獲取PowerManager.WakeLock對(duì)象,后面的參數(shù)|表示同時(shí)傳入兩個(gè)值,最后的是LogCat里用的Tag  38         wl.acquire();  39         //點(diǎn)亮屏幕  40         wl.release();  41         //釋放  42    43         KeyguardManager  km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);  44         //得到鍵盤(pán)鎖管理器對(duì)象  45         KeyguardLock kl = km.newKeyguardLock("unLock");    46         //參數(shù)是LogCat里用的Tag  47         kl.disableKeyguard();   48         //解鎖</pre><br><br>  49     } 50 }

 

資源鏈接

Android 解屏幕鎖與點(diǎn)亮屏幕(來(lái)電時(shí)效果)

android之a(chǎn)ndroid.intent.category.DEFAULT的用途和使用

Android NFC開(kāi)發(fā)概述(作者找了很多網(wǎng)上的NFC資料,可參考,有疏漏)

Android NFC 開(kāi)發(fā)實(shí)例(一個(gè)簡(jiǎn)單的demo,我試了幾下有點(diǎn)小問(wèn)題,可參考)

本工程下載地址:http://pan.baidu.com/s/1c04ries 

 

 

@beautifulzzzz

  2015-11-02 持續(xù)更新中~

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android NFC 開(kāi)發(fā)實(shí)例
Android 2.3 NFC簡(jiǎn)介
Android下NFC的簡(jiǎn)單使用
Android NFC開(kāi)發(fā)實(shí)戰(zhàn)
Android NFC技術(shù)(三)——初次開(kāi)發(fā)Android NFC你須知道NdefMessage和NdefRecord
Android屏幕點(diǎn)亮(常亮)及屏幕解鎖和鎖定 | 蘿卜白菜的小站
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服