編輯:關於Android編程
(1)自定義字符串 public final String CUSTOME_ACTION="intent.action.CUSTOME_JIANG";//字符串可以任意 Intent intent=new Intent(); intent.setAction(ActionAttr.CUSTOME_ACTION); //注意:ActionAttr為我們創建的類,也可以使用this.CUSTOME_ACTION (2)使用系統預定action常量 Intent intent=new Intent(); intent.setAction(Intent.ACTION_CALL); //其中ACTION_CALL為Intent類的靜態成員變量,可以類直接調用 //對應字符串"android.intent.action.CALL"2.Data屬性 Action屬性為Intent對象描述了一個"動作",那麼Data屬性就為Intent對象的Action屬性提供了操作的數據。這裡需要注意的是,Data屬性只接受一個Uri對象,一個Uri對象通常通過如下形式的字符串來表示: Uri字符串格式:scheme://host:port/path 舉例: content://com.android.contacts/contacts/1或tel://18819463209 在設置Intent對象Data屬性時可以這樣:
Intent intent=new Intent(); String data="content://com.android.contacts/contacts/1"; Uri uri=Uri.parse(data);//將字符串轉換為Uri intent.setData(uri); 或者 Intent intent=new Intent(); intent.setData(Uri.parse("content://com.android.contacts/contacts/1"));
(1)自定義字符串 public final String CUSTOME_CATEGORY="intent.action.CUSTOME_CATEGORY";//字符串可以任意 Intent intent=new Intent(); intent.addCategory(ActionAttr.CUSTOME_CATEGORY); (2)使用系統預定action、category常量 以下代碼實現當點擊某個按鈕時,通過Intent對象實現返回HOME桌面。 Intent intent=new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME);//返回Home桌面
ComponentName comp=new ComponentName(ComponentAttr.this,SecondaryActivity.class); Intent intent=new Intent(); intent.setComponent( comp);//設置intent的Component屬性,指定"意圖"要啟動組件的包和類名 注釋:第一句用於創建一個ComponentName對象,來指定包名和類型-這就可以唯一地確定一個組件類。四、Intent相關類 1.Activity類 這裡我們只需學習使用Intent啟動Activity組件將要用的的方法 void startActivity(Intent intent) 作用:啟動Activity,具體啟動哪個Activity和怎麼樣啟動由intent屬性決定 void startActivityForResult(Intent intent, int requestCode) 作用:啟動Activity,並返回一個結果。當被啟動的Activity退出時,會調用 onActivityResult() 方法並向其傳入一個 requestCode參數,這個 requestCode參數為非負數(>0),作用是標志是哪個Activity組件發出的"意圖",需要注意的是如果 requestCode小於0時,這個方法的只能用於啟動一個Activity而不能返回值了。另外,Intent的action屬性設為能夠返回一個結果,如果設置為
Intent.ACTION_MAIN
or Intent.ACTION_VIEW,也是不能獲取結果的。
待寫:另外還有如何啟動Service、BroadcastReceiver組件的方法,這以後學到了再說吧。
2.Intent類
(1)構造函數
ACTION_VIEW
.
SetparseUri(String,
int)
instead.
String
getPackage()
Retrieve the application package name this Intent is limited to.
String
getScheme()
Return the scheme portion of the intent's data.
Intent
getSelector()
Return the specific selector associated with this Intent.
Rect
getSourceBounds()
Get the bounds of the sender of this intent, in screen coordinates.
String
getType()
Retrieve any explicit MIME type included in the intent.
boolean
hasCategory(String category)
Check if a category exists in the intent.
boolean
hasExtra(String name)
Returns true if an extra value is associated with the given name.
static Intent
makeMainActivity(ComponentName mainActivity)
Create an intent to launch the main (root) activity of a task.
static Intent
makeMainSelectorActivity(String selectorAction, String selectorCategory)
Make an Intent for the main activity of an application, without specifying a specific activity to run but giving a selector to find the
activity.
static Intent
parseIntent(Resources resources, XmlPullParser parser, AttributeSet attrs)
Parses(解析) the "intent" element (and its children) from XML and instantiates an Intent object.
static Intent
parseUri(String uri,
int flags)
Create an intent from a URI.
Intent
putExtra(String name,
int value)
Add extended data to the intent.
Intent
putExtra(String name, CharSequence value)
Add extended data to the intent.
Intent
setAction(String action)
Set the general action to be performed.
Intent
setClass(Context packageContext, Class>
cls)
Convenience for calling setComponent(ComponentName)
with
the name returned by a Class
object.
Intent
setClassName(Context packageContext, String className)
Convenience for calling setComponent(ComponentName)
with
an explicit class name.
Intent
setClassName(String packageName, String className)
Convenience for calling setComponent(ComponentName)
with
an explicit application package name and class name.
Intent
setComponent(ComponentName component)
(Usually optional) Explicitly set the component to handle the intent.
Intent
setData(Uri data)
Set the data this intent is operating on.
Intent
setFlags(int
flags)
Set special flags controlling how this intent is handled.
Intent
setPackage(String packageName)
(Usually optional) Set an explicit application package name that limits the components this Intent will resolve to.
void
setSourceBounds(Rect r)
Set the bounds of the sender of this intent, in screen coordinates.
Intent
setType(String type)
Set an explicit MIME data type.
String
toString()
Returns a string containing a concise(簡潔), human-readable (可讀)description of this object.
String
toUri(int
flags)
Convert this Intent into a String holding a URI representation of it.
(3)類靜態成員變量
即ACTION、CAYEGORY常量等,由Intent或其對象調用設置intent屬性
a.標准Activity Actions
以下actions常量,用於Intent定義用來操作各種Activity,通常使用 startActivity(Intent)方法實現。
ACTION_MAIN
//傳遞返回到主Activity動作
ACTION_VIEW
//傳遞顯示動作
ACTION_ATTACH_DATA
ACTION_EDIT
//傳遞編輯動作
ACTION_PICK
ACTION_CHOOSER
//傳遞選擇動作
ACTION_GET_CONTENT
ACTION_DIAL
ACTION_CALL
ACTION_SEND
ACTION_SENDTO
ACTION_ANSWER
//傳遞接聽電話動作
ACTION_INSERT
ACTION_DELETE
ACTION_RUN
ACTION_SYNC
ACTION_PICK_ACTIVITY
ACTION_SEARCH
ACTION_WEB_SEARCH
ACTION_FACTORY_TEST
b.標准Broadcast Actions
以下"意圖"的action屬性常量,用於接收廣播,通常使用 registerReceiver(BroadcastReceiver, IntentFilter)方法或者在AndroidManifest.xml
文件中定義了ACTION_TIME_TICK
ACTION_TIME_CHANGED
ACTION_TIMEZONE_CHANGED
ACTION_BOOT_COMPLETED
ACTION_PACKAGE_ADDED
ACTION_PACKAGE_CHANGED
ACTION_PACKAGE_REMOVED
ACTION_PACKAGE_RESTARTED
ACTION_PACKAGE_DATA_CLEARED
ACTION_UID_REMOVED
ACTION_BATTERY_CHANGED
ACTION_POWER_CONNECTED
ACTION_POWER_DISCONNECTED
ACTION_SHUTDOWN
c.標准Categories常量
為Action增加額外的附加類別信息,通常使用addCategory (String category)方法。
CATEGORY_DEFAULT
CATEGORY_BROWSABLE
CATEGORY_TAB
CATEGORY_ALTERNATIVE
CATEGORY_SELECTED_ALTERNATIVE
CATEGORY_LAUNCHER
CATEGORY_INFO
CATEGORY_HOME
CATEGORY_PREFERENCE
CATEGORY_TEST
CATEGORY_CAR_DOCK
CATEGORY_DESK_DOCK
CATEGORY_LE_DESK_DOCK
CATEGORY_HE_DESK_DOCK
CATEGORY_CAR_MODE
CATEGORY_APP_MARKET
d.標准Extra Data常量
通過putExtra(String, Bundle)方法實現。
EXTRA_ALARM_COUNT
EXTRA_BCC
EXTRA_CC
EXTRA_CHANGED_COMPONENT_NAME
EXTRA_DATA_REMOVED
EXTRA_DOCK_STATE
EXTRA_DOCK_STATE_HE_DESK
EXTRA_DOCK_STATE_LE_DESK
EXTRA_DOCK_STATE_CAR
EXTRA_DOCK_STATE_DESK
EXTRA_DOCK_STATE_UNDOCKED
EXTRA_DONT_KILL_APP
EXTRA_EMAIL
EXTRA_INITIAL_INTENTS
EXTRA_INTENT
EXTRA_KEY_EVENT
EXTRA_ORIGINATING_URI
EXTRA_PHONE_NUMBER
EXTRA_REFERRER
EXTRA_REMOTE_INTENT_TOKEN
EXTRA_REPLACING
EXTRA_SHORTCUT_ICON
EXTRA_SHORTCUT_ICON_RESOURCE
EXTRA_SHORTCUT_INTENT
EXTRA_STREAM
EXTRA_SHORTCUT_NAME
EXTRA_SUBJECT
EXTRA_TEMPLATE
EXTRA_TEXT
EXTRA_TITLE
EXTRA_UID
e.Flags
通過 setFlags(int) 和addFlags(int)設置intent的flags屬性。
getFlags()
addFlags(int)
FLAG_GRANT_READ_URI_PERMISSION
FLAG_GRANT_WRITE_URI_PERMISSION
FLAG_GRANT_PERSISTABLE_URI_PERMISSION
FLAG_GRANT_PREFIX_URI_PERMISSION
FLAG_DEBUG_LOG_RESOLUTION
FLAG_FROM_BACKGROUND
FLAG_ACTIVITY_BROUGHT_TO_FRONT
FLAG_ACTIVITY_CLEAR_TASK
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
FLAG_ACTIVITY_FORWARD_RESULT
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
FLAG_ACTIVITY_MULTIPLE_TASK
FLAG_ACTIVITY_NEW_DOCUMENT
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_NO_ANIMATION
FLAG_ACTIVITY_NO_HISTORY
FLAG_ACTIVITY_NO_USER_ACTION
FLAG_ACTIVITY_PREVIOUS_IS_TOP
FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
FLAG_ACTIVITY_REORDER_TO_FRONT
FLAG_ACTIVITY_SINGLE_TOP
FLAG_ACTIVITY_TASK_ON_HOME
FLAG_RECEIVER_REGISTERED_ONLY
參考:http://developer.android.com/reference/android/net/Uri.html
用Activity的onTouchEvent方法實現監聽手指上下左右滑動應用了Activity的ontouchEvent方法監聽手指點擊事件,手指滑動的時候會先按下,滑倒
引言隨著項目中動態鏈接庫越來越多,我們也遇到了很多奇怪的問題,比如只在某一種 OS 上會出現的 java.lang.UnsatisfiedLinkError,但是明明我們
阿裡巴巴開源項目,地址:https://github.com/alibaba/AndFixtools裡面有我們需要的工具,docs是一些文檔介紹。AndFix解決在線修復
本文提到的所有數字模型制作,全部是用3D MAX建立模型,即使是不同的驅動引擎,對模型的要求基本是相同的。當一個VR模型制作完成時,它所包含的基本內容包括場景尺寸、單位,