Android轻松实现分享功能
在Android開發中,要實現分享功能,可能首先想到第三方的ShareSDK,其實,想要分享一些圖片,文本之類的完全沒必要在App中集成第三方SDK,利用原生的SDK就可以輕松實現分享功能。
Activity的跳轉方式
??眾所周知,Activity的跳轉方式分為兩種,分別為顯示跳轉和隱式跳轉
顯示跳轉
??顯示跳轉比較簡單,直接看代碼
Intent intent=new Intent(MainActivity.this, OtherActivity.class); startActivity(intent);隱式跳轉
??隱式跳轉復雜一點,同樣,先看下代碼
Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); shareIntent.setType("image/jpeg"); startActivity(shareIntent);可以看到隱式跳轉Activity不像顯示跳轉那樣,直接在Intent中設置類名進行跳轉。隱式跳轉的步驟如下
步驟2中的setAction(),其中需要的參數是,你要跳轉的目標Activity所設置的Action,設置Action可以在AndroidManifest.xml中進行設置。setAction()中的參數就是過濾條件,決定我們跳轉到哪個Activity。同樣,setType()中的參數也是過濾條件,如果說setAction()是一級過濾,那么setType()則是二級過濾,過濾的更加細致。putExtra()中的參數,就是跳轉到目標Activity攜帶的參數。
??了解過了Activity的跳轉方式,下面就進入本文的重點,為軟件實現分享功能。
實現分享功能
分享圖片
??由于需要調用系統的Activity,所以,我們只能選擇Activity的隱式跳轉方式,先看下實現分享圖片的代碼
public static void shareImage(Context context, Uri uri, String title) {Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);shareIntent.putExtra(Intent.EXTRA_STREAM, uri);shareIntent.setType("image/jpeg");context.startActivity(Intent.createChooser(shareIntent, title));}這里主要說一下其中的一些參數,uri就是你要分享的圖片的路徑,title就是分享時顯示的文字,額…,為了不讓大家誤解,下面看一張圖,圖中紅框標起來的就是title
再來看一下這個代碼 Intent.createChooser(shareIntent, title)
官方文檔的介紹如下
Builds a new ACTION_CHOOSER Intent that wraps the given target intent, also optionally supplying a title.
上面一段話的主要意思就是,就是為目標Activity提供一個標題。
分享文本
??文本分享和圖片分享大同小異,直接看代碼
public static void shareText(Context context, String extraText) {Intent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.action_share));intent.putExtra(Intent.EXTRA_TEXT, extraText);//extraText為文本的內容intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//為Activity新建一個任務棧context.startActivity(Intent.createChooser(intent, context.getString(R.string.action_share)));//R.string.action_share同樣是標題}其中與分享圖片不同的代碼已經在代碼中進行了注釋。
實現可以被系統分享調用的App
??以上實現了,通過系統調用其他的App進行分享,那么,我們怎樣讓自己的App可以被系統列入可以分享的App呢?
其實很簡單,只要在AndroidManifest.xml中Activity的action標簽設置以下值即可
看下示例代碼
<activity android:name=".ShareActivity"><intent-filter><action android:name="android.intent.action.SEND"/><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>這樣,在系統調用可以用來分享的App時,我們的軟件就會出現在列表中了。
結束語
轉載請注明出處:www.wizardev.com
總結
以上是生活随笔為你收集整理的Android轻松实现分享功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MDK5.25下载程序出现问题
- 下一篇: 计算机鼠标不出现在电脑屏幕上,电脑一打开