android隱式意圖激活自定義界面和系統(tǒng)應(yīng)用界面的實例
我們也可以使用隱士意圖激活自定義的界面,并且可以攜帶數(shù)據(jù):
效果:
點擊第二個按鈕后:
點擊最后一個按鈕(激活系統(tǒng)短消息界面)后:
附代碼:
主窗體的代碼:
package com.yy.twoactivity; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 點擊事件,當(dāng)用戶點擊的時候跳轉(zhuǎn)到第二個界面 * @param view */ public void click(View view){ //意圖 Intent intent=new Intent(); //設(shè)置包和界面,顯式意圖 intent.setClassName(this, "com.yy.twoactivity.SecondActivity"); //跳轉(zhuǎn)到新的設(shè)定好的界面 startActivity(intent); } /** * 點擊事件,當(dāng)用戶點擊的時候隱式意圖跳轉(zhuǎn)到第二個界面 * @param view */ public void click3(View view){ //意圖 Intent intent=new Intent(); //設(shè)置包和界面,隱式意圖 intent.setAction("com.yy.xxx"); //設(shè)置額外的信息【非必需,和主配置文件對應(yīng)】 intent.addCategory(Intent.CATEGORY_DEFAULT); //設(shè)置數(shù)據(jù)【非必須,和主配置文件對應(yīng),可以攜帶數(shù)據(jù)】 intent.setData(Uri.parse("yy:adbc")); //跳轉(zhuǎn)到新的設(shè)定好的界面 startActivity(intent); } /** * 點擊事件,激活系統(tǒng)的應(yīng)用 程序界面 * @param view */ public void click2(View view){ //意圖 Intent intent=new Intent(); //設(shè)置預(yù)打開系統(tǒng)應(yīng)用的包和界面,顯式意圖 // cmp=com.android.gallery/com.android.camera.GalleryPicker intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker"); //跳轉(zhuǎn)到新的設(shè)定好的界面 startActivity(intent); } /** * 點擊事件,當(dāng)用戶點擊的時候隱式意圖激活系統(tǒng)短消息 * @param view */ public void click4(View view){ //意圖 Intent intent=new Intent(); //設(shè)置包和界面,隱式意圖 intent.setAction("android.intent.action.SENDTO"); //設(shè)置額外的信息【非必需,和主配置文件對應(yīng)】 intent.addCategory("android.intent.category.DEFAULT"); //設(shè)置數(shù)據(jù)【非必須,和主配置文件對應(yīng),可以攜帶數(shù)據(jù)】,前綴是看短信息應(yīng)用配置文件的scheme知道的 intent.setData(Uri.parse("sms:15588890908")); //跳轉(zhuǎn)到新的設(shè)定好的界面 startActivity(intent); } }
第二個窗體的代碼:
package com.yy.twoactivity; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2); //獲取打開當(dāng)前界面的意圖 Intent intent=getIntent(); Uri uri=intent.getData(); //獲取到使用intent.setData(Uri.parse("yy:adbc"));攜帶的數(shù)據(jù) String data=uri.getSchemeSpecificPart(); System.out.println(data); } }
另外需要在AndoridManifest.xml文件中配置:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:label="@string/app_second_name" > <intent-filter> <action android:name="com.yy.xxx"/> <category android:name="android.intent.category.DEFAULT"></category> <data android:scheme="yy"/> </intent-filter> </activity> </application>
以上這篇android隱式意圖激活自定義界面和系統(tǒng)應(yīng)用界面的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Studio多渠道打包、自定義打包APK名稱
Android Studio為我們提供了簡便的方法,可以多渠道打包,一次打包所有的渠道包。這篇文章主要介紹了Android Studio多渠道打包、自定義打包APK名稱,需要的朋友可以參考下2018-01-01解決Android popupWindow設(shè)置背景透明度無效的問題
這篇文章主要介紹了解決Android popupWindow設(shè)置背景透明度無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Android日期選擇器實現(xiàn)年月日三級聯(lián)動
這篇文章主要為大家詳細介紹了Android日期選擇器實現(xiàn)年月日三級聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01舉例講解Android應(yīng)用中SimpleAdapter簡單適配器的使用
這篇文章主要介紹了Android應(yīng)用中SimpleAdapter簡單適配器的使用例子,SimpleAdapter經(jīng)常在ListView被使用,需要的朋友可以參考下2016-04-04Android Studio做超好玩的拼圖游戲 附送詳細注釋源碼
這篇文章主要介紹了用Android Studio做的一個超好玩的拼圖游戲,你是0基礎(chǔ)Android小白也能包你學(xué)會,另外附送超詳細注釋的源碼,建議收藏!2021-08-08