在開發(fā)android的應(yīng)用中,有時候需要限制橫豎屏切換。
只需要在AndroidManifest.xml文件中加入android:screenOrientation屬性限制。
android:screenOrientation="landscape"是限制此頁面橫屏顯示,
android:screenOrientation="portrait"是限制此頁面數(shù)豎屏顯示。
一.顯示intent和隱示intent的區(qū)別
- 1:都是用來在一個activity中啟動另外一個activity
- 2:顯示Intent直接指明要啟動activity的定義,即activity.class;隱式intent通過在androidmanifest.xml配置action來隱式的啟動activity
- 3:顯示intent不可以跨應(yīng)用啟動activity;隱式intent是可以跨應(yīng)用啟動的
- 4:如果想隱式intent也不可以被跨應(yīng)用啟動只需要在androidmanifest.xml對應(yīng)的activity中配置android:exported=”false”即可!
- 5:使用隱式intent啟動activity的時候如果有兩個action配置是一樣的,那么啟動的時候系統(tǒng)就會彈出對話框讓你選擇去啟動哪一個,那么怎么過濾掉自己不想啟動的哪一個呢,方法是在Androidmanifest.xml中的對應(yīng)的activity配置中配置名字隨便起,然后在new Intent action參數(shù)后再傳入另外一個參數(shù)Uri.parse(“app://hello”) app冒號后面跟的是參數(shù),隨便寫,這樣就可以對同一個actionj進行區(qū)分了!
1.每個intent中只能指定一個action, 但卻能指定多個catagory.
2.<action/>唯一盡量使用action標(biāo)識
1.顯示intent
// 3.顯示intent實現(xiàn)活動跳轉(zhuǎn)(重點), 不需要更改Manifest配置
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class); //跳轉(zhuǎn)到SecondActivity.class的布局頁面
startActivity(intent);
}
});
2.隱示intent
- Manifest配置
<!--防止隱示intent 跨應(yīng)用訪問 android:exported="false"-->
<activity android:name=".SecondActivity" android:label="第二頁" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.SecondActivity"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- 邏輯代碼
// 4.隱示intent, 需要Manifest配置,使用action標(biāo)識
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("android.intent.action.SecondActivity");
startActivity(intent);
}
});