當前位置:首頁 » 安卓系統 » androidrequired

androidrequired

發布時間: 2022-07-28 18:34:30

① 判斷android用戶拒絕了某項許可權這個問題您解決了嗎

源碼中被用來檢查和請求許可權的方法分別是Activity的checkSelfPermission和requestPermissions。這些方法api23引入,如下代碼:

java">privatestaticfinalStringTAG="Contacts";
privatevoidinsertDummyContact(){
//.
ArrayList<ContentProviderOperation>operations=newArrayList<ContentProviderOperation>(2);

//First,setupanewrawcontact.
ContentProviderOperation.Builderop=
ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME,null);
operations.add(op.build());

//Next,setthenameforthecontact.
op=ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
"__");
operations.add(op.build());

//Applytheoperations.
ContentResolverresolver=getContentResolver();
try{
resolver.applyBatch(ContactsContract.AUTHORITY,operations);
}catch(RemoteExceptione){
Log.d(TAG,"Couldnotaddanewcontact:"+e.getMessage());
}catch(){
Log.d(TAG,"Couldnotaddanewcontact:"+e.getMessage());
}
}

② 有沒有遇到過各個版本之間android api介面的區別

還是有區別的,具體如下:
Android 1.5 API變更概要:
1、UI framework
· Framework for easier background/UI thread interaction
· 新SlidingDrawer 組件
· 新HorizontalScrollview 組件
2、AppWidget framework
· 一些關於創建桌面AppWidget 的API.
· 提供根據自定義的內容創建LiveFolders的API
3、Media framework
· 原聲錄音和回放 APIs
· 互動式的MIDI 回放引擎
· 開發者使用的視頻錄像API (3GP format).
· 視頻相片分享 Intents
· 媒體搜索Intent
4、Input Method framework
· 輸入法服務framework
· 文本預測引擎
· 提供具有下載能力的IME給使用者
5、Application-defined hardware requirements
應用可定義硬體需求,應用程序可以定義說明此程序需要什麼硬體需求.比如是否需要物理鍵盤或者軌跡球.
6、Speech recognition framework
· 支持語音識別庫.
7、Miscellaneous API additions
· LocationManager -應用可以接收到位置改變的信息.
· WebView - 觸摸start/end/move/cancel DOM 事件的支持
· 重建Sensor Manager APIs
· GLSurfaceView - 創建OpenGL 應用更加方便的framework .
· 軟體升級安裝成功的Broadcast Intent - 更加平和優秀的軟體升級體驗

Android 1.6 API變更概要:
1、UI framework
· 新的類 android.view.animation 控制動畫行為:
o AnticipateInterpolator
o
o BounceInterpolator
o OvershootInterpolator
2、· 新的XML 屬性android:onClick ,從一個layout文件描述一個view的 View.OnClickListener.
· 對不同解析度的屏幕的新的支持. 對於Bitmap和Canvas會執行有針對性的縮放行為.該框架會根據屏幕解析度和其他內容自動縮放bitmap等.
要在你的應用中使用Android 1.6包含的API的話你必須要設置 "4"屬性在manifest的 元素中
3、Search framework
· 應用程序現在可以公開的有關內容,作為建議放入快速搜索框,新的設備范圍內的搜索功能,是可從主屏幕搜索。為了支持這一點,搜索框架增加了新的屬性,可搜索的元數據文件。有關完整的信息,請參閱SearchManager文檔。
4、Accessibility framework
· New android.accessibility package that includes classes for capturing accessibility events and forwarding them to an AccessibilityService handler.
· New AccessibilityService package that lets your application track user events and provide visual, audible, or haptic feedback to the user.
5、Gesture Input
· 新的gesture API :創建,識別,讀取,保存手勢.
6、Text-to-speech
· 新的android.speech.tts 包提供了TTS文本朗讀功能,從一個文本生成一個聲音文件的回放.
7、Graphics
·android.graphics 中的類,現在支持為不同的屏幕尺寸進行縮放.
8、Telephony
· 新的SmsManager 發送和接受簡訊.
9、Utilities
· 新的DisplayMetrics 欄位決定當前設備屏幕的密度.
10、Android Manifest elements
o 新的 元素
o 新的 標簽
o glEsVersion: 指定最小openGL ES的版本
·
11、元素的新的屬性:
o 目標SDK版本: 應用程序能夠指定目標版本. 它能夠運行在舊版本(低至minSdkVersion), 他是按照應用程序的指定版本開發的. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
o maxSdkVersion: 指定設計這個程序運行的最高版本 重要: 當使用 這些屬性前請認真閱讀文檔.
12、New Permissions
· CHANGE_WIFI_MULTICAST_STATE: 允許應用進入Wi-Fi 多點傳送模式.
· GLOBAL_SEARCH: 允許全局搜索系統,以便精確確定 content provider.
· INSTALL_LOCATION_PROVIDER: 允許應用在Location Manager.安裝一個location provider.
· READ_HISTORY_BOOKMARKS: 允許應用讀取(並不能寫) 用戶的瀏覽記錄和書簽
· WRITE_HISTORY_BOOKMARKS: 允許應用寫入 (並不能讀) 用戶的瀏覽記錄和書簽
· WRITE_EXTERNAL_STORAGE: 允許程序寫入外部存儲器.應用程序使用API級別3下將默認授予此許可權 (這對用戶可見的); 應用程序使用API level4 或者更高的,必須要明確的宣告此許可權.

Android 2.0 API變更概要:
1、Bluetooth
· 開啟關閉藍牙
· 設備和服務發現
· 使用 RFCOMM連接一個可插拔的設備收發數據
· 公布RFCOMM 服務和監聽接收 RFCOMM 連接
2、Sync adapters
· 新的APIs, 同步橋接器連接任何backend
3、Account Manager
· 集中的帳戶管理器 API ,安全的儲存和使用可信的tokens/passwords
4、Contacts
· 新的通信APIs 允許獲取多個賬戶的數據.
· 新的快速通信framework APIs 允許開發者在他們的應用中創建通信標記, 一鍵點擊標記打開一個新的窗口展示一個如何聯系當前人的列表.
5、WebView
· 不贊成使用的類: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
6、Camera
· 顏色模式, 場景模式 閃光模式, 焦點模式, 白平衡 旋轉和其他設置的新的特徵.
· 當縮放級別改變的時候,會回調新的縮放回調介面.
7、Media
· MediaScanner現在為所有圖片生成縮微圖when they are inserted into MediaStore.
· 新的縮微圖 API : 檢索需要的圖片和視頻的縮微圖.
8、Other Framework
· android.R.style 中新的系統主題,能夠更加簡單的顯示當前acitivities的系統壁紙或者保持之前的activity在後台.新的壁紙管理器API 取代並且增加了wallpaper APIs ,我們可以允許我們的應用要求設置系統壁紙.
· 新的Service APIs幫助應用准確的處理Service 生命周期 ,在指定的低內存狀態下service將會被關閉.
o Service.setForeground() 不推薦使用,並且現在這個方法並沒有實際執行. .他被一個新的API所取代, startForeground(), that helps (and requires) associating an ongoing notification with the foreground state.
· MotionEvent 如果設備允許的話,MotionEvent 會返回多點觸摸信息.最多可同時獲取3點
· KeyEvent 現在有了新的按鍵發送 APIs,去幫助實現 action-on-up 和長按鍵行為, 一個新的機製取消按鍵 (虛擬按鍵).
· WindowManager.LayoutParams 現在有了新的常量允許窗口能夠在被鎖或者其他的狀況中喚醒屏幕,這個允許程序能夠讓例如鬧鍾等的應用實現喚醒設備.
·New Intent APIs 廣播設備的對接狀態,當這個設備放在桌面或者停車場,允許程序啟動特殊的activity.
9、Key events executed on key-up
Android 2.0能夠使用虛擬按鍵HOME, MENU, BACK和SEARCH,而非物理按鍵,為了讓用戶在他們的設備中獲得最好的用戶體驗,android平台現在把這些按鍵執行加入到了key-up,做了 key-down/key-up 配對,而非只有key-down.,這有助於防止意外按鈕事件,並讓使用者按下按鈕區域,然後拖動而不生成一個事件出來。
這種改變只會影響你的應用程序一點,如果它是攔截按鈕事件,最好用key-down,而不是key-up.。特例,如果您的應用程序攔截BACK 鍵,你應該確保你的應用妥善處理按鍵事件。

Android 2.0.1 API變更概要:
· 新的快速聯系人標記風格(quickContactBadgeStyle)* 屬性,讓應用的QuickContactBadge 組件接收必要的風格.
· 當在manifest裡面宣布了filter,取消了支持 ACTION_CONFIGURATION_CHANGED 廣播 ,如果想要去接收這個廣播, 這個應用必須注冊 registerReceiver(BroadcastReceiver, IntentFilter).
性能上的改變:
1、Bluetooth
改變了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
· ACTION_REQUEST_ENABLE 如果藍牙是成功開啟的,現在返回RESULT_OK .如果使用者拒絕開啟藍牙的請求,則會返回RESULT_CANCELED .
· ACTION_REQUEST_DISCOVERABLE 如果使用者拒絕啟動藍牙或者藍牙的可發現功能,則返回 RESULT_CANCELED .
2、通訊
The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪切保存到一個空的操作裡面).
修復錯誤:
3、資源
現在framework可以正選擇應用資源的根據API等級劃分的文件夾(drawable-v4是API level4版本用的資源).現在的版本這個功能不能正常工作的問題已經修復.
4、Contacts
The ACTION_INSERT Intent now returns the appropriate kind of URI when the request is made using the (now deprecated) Contacts APIs.
5、Other Framework fixes
· getCallingPackage() 現在正確的報告包名, 而不是進程名.

Android 2.1 API變更概要:
1、?Live Wallpapers 動態桌面
? 以下增加的API可以提供你開發動態的桌面:
· 新android.service.wallpaper 包.
· 新WallpaperInfo 類.
· 升級的WallpaperManager.
附加說明, 如果你的應用相提供Live Wallpapers的功能, 你必須記得增加一個 元素到你的應用manifest裡面. 宣布這個屬性android:name="android.software.live_wallpaper". 舉例:
2、電話
· 新的SignalStrength 類提供當前網路信號的一些信息這些信息可以從onSignalStrengthsChanged(SignalStrength) 回調.
· 新的onDataConnectionStateChanged(int, int) 回調.
3、Views
· 新的View 方法isOpaque() 和onDrawScrollBars(Canvas).
· 新的RemoteViews 方法addView(int, RemoteViews) 和removeAllViews(int).
· 新的ViewGroup 方法isChildrenDrawingOrderEnabled() 和(boolean).
4、WebKit
· 新的WebStorage 方法操作網頁數據緩存.
· 新的GeolocationPermissions 方法獲取 Geolocation permissions 的出處, 把他們設置到 WebView上.
· 新的WebSettings 方法管理軟體緩存, 網頁緩存 和屏幕的縮放.
· 新的WebChromeClient 方法處理視頻, 歷史記錄, 自定義view, 軟體緩存限制還有其他??

Android 2.2 API變更概要:
1、對Microsoft Exchange更好的支持。
Android的幾個新特性使之更適於Exchange企業環境。其中一些新特性列舉如下:基於用戶名/密碼的 Exchange帳號自動檢測支持Exchange日歷的同步
改進的安全性,管理員可以跨越設備強制應用安全策略
恢復出場設置——管理員可以將設備重置為出場設置,這樣就能在設備被偷或丟失後擦除上面的敏感數據了
全局的地址列表查找——可以根據伺服器端返回的列表幫助用戶自動填充收件人的郵件地址
設備管理API。Android 2.2改進並新增了大量的設備管理API,開發者可以將其用在應用當中:
應用數據備份API——可以將應用數據備份到雲中。如果用戶切換到另一個Android設備,他就可以從之前的設備中恢復數據。
2、Cloud-to-Device消息API。雲中的用戶/系統可以憑借這種增強在設備上觸發動作。該特性可以將移動警告發給手機並且支持雙向的推同步服務。
可以直接在外部的內存設備(SD卡)上安裝應用,還可以將應用從內部遷移到SD卡上,反之亦然。
3、網路共享。Android 2.2可以通過一台Android電話提供的熱點將多個服務連接到Internet上。
性能。藉助於新式的Dalvik JIT編譯器,對於CPU密集型應用來說,Android 2.2的速度要比Android 2.1快2~5倍。根據Linpack基準測試結果,安裝了Froyo的Nexus
One電話可以達到37.5 MFlops,而同樣的電話如果使用Android 2.1的話才有6.5 MFlops。
更快的瀏覽速度。由於瀏覽器現在使用了Chrome V8引擎,JavaScript代碼的處理速度要比Android 2.1快2~3倍。
從瀏覽器中訪問設備API。現在可以直接從瀏覽器中訪問大量的設備API,如加速器、相機、聲音識別、翻譯等,這樣Web應用就能以前所未有的方式與設備交互了。比如說,用戶可以在拍完照後將其上傳到網上,而這一切都是在瀏覽器內完成的。
4、支持Flash 10.1。Froyo支持最新的Flash 10.1
Beta版。最近,JIT編譯器的引入極大地改進了性能,這對Flash應用的運行起到了巨大的幫助作用,因為大家都知道,Flash應用是一種CPU密集型應用。
Android商店。Android 2.2開發者和商店用戶會從如下新特性中受益無窮:
可以在Android商店搜索應用,包括應用數據
更新——點擊一次按鈕後會自動更新所有應用
5、崩潰與凍結報告。Android2.2集成了崩潰/凍結報告特性,這樣在崩潰時用戶就可以將完整的細節信息報告給應用發布者了
從PC上瀏覽商店並將應用直接下載到設備上。用戶可以通過PC選擇商店的應用,之後應用就可以發到到載入的設備上。要想使用這個特性,用戶需要登錄並且設備需要在Android商店注冊-
6、音樂管理。用戶可以將Windows Media或Mac iTunes上的所有非DRM音樂轉換到Android設備上播放。

Android 2.3 API變更概要:
Android 2.3姜餅發布,代號Gingerbread,包含哪些新特性和改進呢?
1. 新增android.net.sip包,名為SipManager類,可以輕松開發基於Sip的Voip應用。同時使用時必須至少包含這兩個許可權 <uses-permission android:name="android.permission.INTERNET"> and <uses-permissionandroid:name="android.permission.USE_SIP">,如果需要在Market上過濾僅顯示支持VoIP API的機型,可以在發布時androidmanifest.xml中加入 <uses-feature android:name="android.software.sip"android:required="true"> 和 <uses-feature android:name="android.software.sip.voip"> 這兩個標志。
2. Near Field Communications (NFC) 近距離通訊的支持,NFC可以在不接觸的情況下實現數據交換通訊,可以很好的代替RFID SIM卡實現手機支付等擴展功能,當然Android123提示這需要硬體的支持
,新增包在 android.nfc包含NfcAdapter,NdefMessage,NdefRecord等類,類似藍牙的處理方式,使用該API需要聲明許可權<uses-permission android:name="android.permission.NFC"> ,同時在Market上過濾支持NFC的設備需要加入<uses-feature android:name="android.hardware.nfc" android:required="true">這句。
3. 新增陀螺儀和其他的感測器支持
Android 2.3加入了一些新的感應器,比如gyroscope陀螺儀, rotation vector旋轉向量, linear acceleration線性加速器 gravity和barometer氣壓計的支持。如果過濾這些功能,發布時加入類似<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true">到androidmanifest.xml中。
4. 多攝像頭支持
新增 Camera.CameraInfo 可以管理攝像頭前置或後置
新增 getNumberOfCameras(), getCameraInfo() 和 getNumberOfCameras() 獲取攝像頭數量。
新增 get() 方法,可以獲取攝像頭配置信息 CamcorderProfile
新增 () 獲取jpeg編碼質量參數可以在 CameraPreview.java 文件從ApiDemos示常式序中查看。
5. 新增拍照API
比如獲取焦距getFocusDistances()獲取預覽FPS getPreviewFpsRange(), 獲取焦距范圍 getSupportedPreviewFpsRange() 和設置教育 setPreviewFpsRange()
6. 混響音效
本次Android 2.3框架中加入了對混響音效的支持,比如低音,耳機和虛擬化等效果.
新增 android.media.audiofx 包
新增 AudioEffect 類提供音效控制
新增音頻會話ID,設置 AudioTrack 和 MediaPlayer.
新 AudioTrack 新增 attachAuxEffect()、getAudioSessionId()和 setAuxEffectSendLevel()。
新 attachAuxEffect() ,getAudioSessionId(), setAudioSessionId(int), 和 setAuxEffectSendLevel() .
相關音效在 AudioFxDemo.java 的 ApiDemos 示例。
6. 照片EXIF信息改進
新增經緯度標簽在JPG格式的EXIF中,同時可以使用 getAltitude() 方法獲取經緯度的EXIF信息
新增setOrientationHint() 可以讓程序獲取視頻錄制的方向.
7. 下載管理
在Android 2.3中新增的下載管理支持長時間運行的Http下載服務支持。可以保證在手機重啟後仍然重試下載等操作,整個過程在後台執行。
通過 DownloadManager 類使用getSystemService(DOWNLOAD_SERVICE) 來實例化,通過ACTION_NOTIFICATION_CLICKED 這個Intent來處理。

8. 限制模式
可以幫助開發者監控他的應用的性能,處理線程阻塞,避免ANR的發生。
StrictMode.ThreadPolicy 和 StrictMode.VmPolicy 獲取VM相關信息.
使用限制模式優化的Android應用程序可以查看android.os.StrictMode包的具體介紹。

③ 如何在Android真機上檢測是否有Google Map add-on

方法有兩個:

1)維護兩條代碼分支:
一條分支是針對於內置有Google Map add-on的Android真機,另一條分支是沒有內置有Google Map add-on的Android真機。
但是這樣做會增加維護成本,而且粗心的用戶可能會在自己的機器上安裝了不匹配的分支,從而降低了軟體的友好度。

2)仍然只保留一條代碼分支:
國外一位大牛指出:在<uses-library>標簽中還包含了一個沒有公布的屬性"android:required",你可以將com.google.android.maps庫的這個屬性設置為false,即:
<!-- The "android:required" attribute was added in API level 5 (Android 2.0) -->
<uses-library android:name="com.google.android.maps" android:required="false" />

這代表如果在目標機器上內置了Google Map add-on,則可以正常使用應用;如果目標機器沒有內置Google Map add-on,也可以成功安裝應用。但是開發人員需要在代碼中自行判斷Google Map add-on是否可用,

④ android 調用系統錄像功能時,怎樣限制錄像的時間和錄像文件大小

不設置質量即可。

⑤ No Activity found to handle Intent 如何解決

android.ndroid有兩種Intent, 顯式和隱式content.ActivityNotFoundException:NoActivityfoundtohandleIntent

⑥ django做後台 android登陸成功後 android怎麼發送請求才能通過@login_required

三種解決方案,
第一種就是模擬瀏覽器的Session ID Cookie,這種解決方案的好處是你的瀏覽器非同步請求和移動端App共享基本不用改後端服務。
第二種解決方案,也就是Restful Service一般推薦的認證解決方案,就是把用戶名密碼用Base64編碼後放到請求的header裡面,實際就是傳統的http basic認證方式。這個其實改動很小,因為Django支持這種認證方式,你把認證方式改一下,view代碼不用改
第三種解決方案雖然簡單,但是不推薦,那就是把用戶名密碼附加到每次的請求參數,這種方式乍看很簡單,但實際不好,一是不安全,二是你或者改view,或者得寫middleware.

⑦ android required key not available 怎麼辦

作為一個模擬器,一個軟體,它不可能實現連線WIFI功能 你想要的這個效果,跟你想用電腦軟體做出一個無線網卡的想法是一樣的 電腦能搜是因為它有無線網卡 而你的模擬器,網卡在哪? 用安卓模擬器不需要連接WIFI,只要你的電腦能夠上網,它就能上網

⑧ Android Studio問題 JDK Required 。

Android Studio要求安裝JDK(Java開發環境),而且不能是JRE( Java運行環境),
先安裝好JDK(JDK 1.7以上吧),然後配置一個JAVA_HOME的環境變數,指向JDK安裝目錄(右鍵偶的電腦——屬性——高級系統設置——環境變數),比如c:\program files\jdk1.xxx

⑨ 如何判斷android用戶拒絕了某項許可權

Android框架包含了對各種Camera以及其上可用的Camera功能的支持,它允許你在應用程序中抓拍照片和視頻。
注意事項
在開啟應用程序使用Android設備上的Camera功能之前,要考慮一些打算如何使用這些硬體功能的問題:
1. Camera需求:要考慮應用程序是否必須要運行在有Camera的設備上,如果必須,就要在應用程序的清單中聲明Camera需求;
2. 快照或定製Camera:應用程序准備如何使用Camera?是只對抓拍或視頻剪輯感興趣?還是要應用程序提供使用Camera的新方法?對於抓拍或剪輯,要考慮使用既存的Camera應用程序。對於開發定製化的Camera功能,請看下文的「構建Camera應用程序」
基礎
Android框架通過Camera API或Camera Intent來支持拍照和錄像,以下是相關的類:
Camera
這個類是控制設備Camera的主API。在構建一個Camera應用程序時,它被用於拍照或錄像。
SurfaceView
這個類用於向用戶實時的展現Camera的預覽。
MediaRecorder
這個類用於記錄來自Camera的視頻
Intent
MediaStore.ACTION_IMAGE_CAPTURE或MediaStore.ACTION_VIDEO_CAPTURE類型的Intent動作被用於不直接使用Camera對象來拍照或錄像。
清單聲明
在開始使用Camera API開發應用程序之前,要確保清單文件已經有了適當的聲明,以允許使用Camera硬體和其他相關的功能。
1. Camera許可權:應用程序必須申請使用設備Camera的許可權。
<uses-permissionandroid:name="android.permission.CAMERA"/>
注意:如果通過Intent來使用Camera,應用程序就不需要申請這個許可權。
2. Camera功能:應用程序還必須要聲明打算使用的Camera功能,例如:
<uses-featureandroid:name="android.hardware.camera"/>
把Camera功能添加到應用程序的清單中,會讓Google Play防止把程序安裝到不包含Camera或不支持你所需要的Camera功能的設備上。關於如何使用基於功能過濾的Google Play,請看Google Play和基於功能的過濾
如果應用程序能夠使用Camera或正確的操作Camera功能,但卻不需要它,那麼就應該在清單中指定android:required屬性,並把屬性值設置為false:
<uses-feature android:name="android.hardware.camera" android:required="false" />

3. 存儲許可權:如果應用程序要把圖片或視頻保存到設備的外部存儲器上(如SD卡),就必須在清單中指定這個許可權:
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

4. 音頻錄音許可權:對於視頻採集的音頻錄音,應用程序必須要申請音頻採集許可權:
<uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>

5. 位置定位許可權:如果應用程序要給圖片標記GPS位置信息,就必須申請位置定位許可權:
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
關於獲得用戶位置的更多信息,請看「定位策略」
使用既存的Camera應用
在應用程序中不需要太多的額外代碼就可以快速的開啟拍照或錄像的方法是:使用Intent來調用一個既存的Android Camera應用程序。一個Camera Intent能夠通過既存的Camera應用程序和它返回給應用程序的播放控制來申請採集一張照片或一段視頻。本節會向你展示如何使用這項技術來採集一張圖片或一段視頻。
調用Camera Intent的過程會遵循以下這些大概的步驟:
1. 編寫一個Camera Intent:創建一個申請圖片或視頻的Intent對象,使用以下Intent類型之一:
MediaStore.ACTION_IMAGE_CAPTURE:從一個既存的Camera應用中申請圖片功能的Intent動作類型;
MediaStore.ACTION_VIDEO_CAPTURE:從一個既存的Camera應用中申請視頻功能的Intent動作類型。
2. 啟動Camera的Intent:使用startActivityForResult()方法來執行Camera的Intent。Intent啟動後,該Camera應用程序的用戶界面會顯示在屏幕上,並且用戶能夠拍照或錄像;
3. 接收Intent的結果:在你的應用程序中建立一個onActivityResult()方法來接收來自Camera Intent的回調和數據。當用戶完成成拍照或錄像(或者是取消操作),系統會調用這個方法。
圖像採集Intent
使用Camera Intent來採集圖像是你的應用程序用最少的代碼來拍照的快捷方式。一個圖片採集Intent能夠包含以下額外的信息:
MediaStore.EXTRA_OUTPUT:這個設置需要一個指定了保存圖片路徑和文件名的Uri對象。這個設置是可選,但強烈推薦使用。如果不指定這個值,Camera應用程序會用默認的名稱把採集到的圖片保存到默認的位置,這些默認值在Intent.getData()方法的返回欄位中指定。
以下示例演示了如何構建一個圖片採集Intent,並執行它。示例中GetOutputMediaFileUri()方法引用了下面「保存媒體文件」一節中的示例代碼:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private Uri fileUri;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// create Intent to take a picture and return control to the calling application
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name

// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
startActivityResult()方法執行完成後,用戶就會看到Camera應用程序的界面。用戶完成拍照(或取消操作)之後,用戶界面就會返回到你的應用程序中,並且你必須監聽onActivityResult()方法來接收Intent的結果,並繼續你的應用程序的執行。
視頻採集Intent
使用Camera Intent採集視頻是讓你的應用程序能夠用最少的代碼來錄像的一中快捷方式。視頻採集Intent能夠包含以下額外信息:
MediaStore.EXTRA_OUTPUT:這個設置要求用一個URI來指定保存視頻的路徑和文件名。雖然它是可選的,但強烈推薦使用這個設置。如果沒有指定這個設置,那麼Camera應用程序會把採集到的視頻用默認的名稱保存到默認的位置,默認的設置是在Intent的Intent.getData()方法域中返回的。
MediaStore.EXTRA_VIDEO_QUALITY:這個值的范圍是0~1,0的時候質量最差且文件最小,1的時候質量最高且文件最大。
MediaStore.EXTRA_DURATION_LIMIT:這個值以秒為單位,顯示視頻採集的時長。
MediaStore.EXTRA_SIZE_LIMIT:這個值以位元組為單位,限制視頻採集的文件大小。
下面的示例演示了如何構造一個視頻採集的Intent,並執行它。這個例子中的getOutputMediaFileUri()方法引用了下文的「保存媒體文件」中的示例代碼:
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
private Uri fileUri;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//create new Intent
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO); // create a file to save the video
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // set the video image quality to high

// start the Video Capture Intent
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
}
當startActivityForResult()方法被執行時,用戶就會看到一個可編輯的Camera應用程序界面。在用戶完成錄像(或取消操作)之後,該用戶界面就會返回到你的應用程序中,並且你必須監聽onActivityResult()方法來接收Intent的結果,並繼續執行你的應用程序。
接收Camera Intent結果
一旦你構建並執行了一個圖片或視頻的Camera Intent,那麼就必須要配置你應用程序來接收Intent的結果。本節向你展示了如何監聽來自Camera Intent的回調,以便應用程序能夠對採集到的圖片或視頻做進一步的處理。
為了接收Intent的結果,必須在啟動Intent的那個Activity中重寫onActivityResult()方法。下面的示例演示了如何重寫onActivityResult()方法來採集圖片Camera Intent或視頻Camera Intent的返回結果:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Image saved to:\n" +
data.getData(), Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}

if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Video captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Video saved to:\n" +
data.getData(), Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the video capture
} else {
// Video capture failed, advise user
}
}
}
一旦Activity接收到一個成功的結果,那麼你的應用程序就可以訪問指定位置中的被採集的圖片或視頻。

⑩ android usb host模式 中需要什麼許可權

需要具備Root的許可權,否則有些操作可能會無法完成。建議先root設備。

一:必須確定Android設備支持USB Host,具體支持與否請參考自己的說明書。
二:確認Android是否已經開放了USB訪問許可權。
進入系統,找到目錄「/system/etc/permissions」,可以用ES或者RE文件管理器進行操作。查看該目錄下,是否有一個文件"android.hardware.usb.host.xml",
如果沒有,則自己創建一個同名文件,內容如下:

<permissions>
<feature name="android.hardware.usb.host"/>
</permissions>

然後,拷貝到「/system/etc/permissions」目錄下。
三:繼續檢查目錄「/system/etc/permissions」下,將其中的「handheld_core_hardware.xml (手機)或者 tablet_core_hardware.xml(平板)」拖出來,打開文件,看看<permissions>結點下面有沒有下面這個結點:
<feature name="android.hardware.usb.host" /> 如果沒有,就自己補上一行,保存,並push進去替換原來的文件。

熱點內容
怎麼配置釘釘代理網路 發布:2025-01-21 07:17:16 瀏覽:710
固態硬碟緩存系統 發布:2025-01-21 07:15:05 瀏覽:350
修改linuxroot密碼 發布:2025-01-21 07:10:00 瀏覽:782
命題庫文件夾 發布:2025-01-21 07:09:53 瀏覽:160
壁紙老是變大怎麼辦安卓 發布:2025-01-21 07:09:14 瀏覽:662
卡爾頓麵包腳本策劃 發布:2025-01-21 06:34:45 瀏覽:264
界面像電腦一樣的伺服器 發布:2025-01-21 06:29:52 瀏覽:990
匿名祝福源碼 發布:2025-01-21 06:29:13 瀏覽:349
雲識別系統登陸密碼是多少 發布:2025-01-21 06:23:39 瀏覽:369
stl源碼剖析中文 發布:2025-01-21 06:14:17 瀏覽:345