android一個應用的activity調用另一個應用的activity
學習了兩個應用之間的activity的調用,和兩個應用程序之間的方法調用(運用AIDL實現)
兩個應用如下:from應用,to應用(from的activity調用to應用的activity)
實現方式:
1.在from的清單文件里聲明要調用的to應用的activity
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.from.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="com.example.to.ToActivity" > <intent-filter> <action android:name="android.intent.action.VIEW" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> </application>
2.在activity中調用的代碼如下
ComponentName componetName = new ComponentName( //這個是另外一個應用程序的包名 "com.example.to", //這個參數是要啟動的Activity "com.example.to.ToActivity"); try { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); // Bundle bundle = new Bundle(); // bundle.putCharSequenceArray("val",new String[]{"111","222","333","444"}); // intent.putExtras(bundle);//綁定bundle數據 // intent.setComponent(componetName); startActivity(intent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "可以在這里提示用戶沒有找到應用程序,或者是做其他的操作!", 0).show(); Log.v("go to apk error","------>"+e.toString()); }
因為我們是從from應用調用to應用,所以還需要在to應用中將需要被調用的activity設置屬性,如下:
<activity android:name="com.example.to.ToActivity" android:exported="true"> </activity>
來自: http://blog.csdn.net//mockingbirds/article/details/44838613
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!