android應用切換
A. android 應用切換後台,接收到消息後,自動切換到前台
目前測試有些手機 ,有更好的方案,請留言
1:在應用裡面manifest文件添加必須許可權
2:方法
B. 安卓4.3手機如何快速切換使用軟體
你好,你說的需下載一個多窗口編輯器的,要root許可權
你可以先通過連接電腦的應用寶來root一下你的手機
然後在用那個軟體就可以把軟體拉進去的呢,先root吧
先在電腦端打開應用寶軟體,然後提示連接手機——接著連接數據線——手機設置——開發者選項——USB調試打開——顯示成功連接後——成功裝好驅動了。進入工具箱——點擊一鍵root就可以了,希望採納。
C. 安卓系統,怎麼切換兩個程序
你搞錯了!是一個系統。
miui系統是基於安卓4.0系
統再次開發的系統嗎?也就是改版安卓系統。其實質還是安卓,只是界面改動了一點而已。
D. android如何快速切換後台運行的程序
長按小房子鍵,會彈出後台運行的程序,點擊就可以切換。
這類基礎教程91很多,可以去看看。
E. android 怎麼實現應用多語言切換
添加多語言文件
在不同的 value 文件夾下(例如 value 、value-en、values-zh-rTW 文件夾)添加不同語言的 string.xml 文件,我們的項目添加了英文、簡體中文、繁體中文三種語言,如下圖所示:
Project模式:
Android模式:
其中英文需要翻譯,繁體如果沒有專門翻譯的話,可以找個簡繁轉換網站,直接將簡體中文轉成繁體中文,推薦一個網站:
http://www.vifo.com.cn/fanti/
下面我只講解簡體中文和英文的做法;
2.現在我們可以在activity啟動裡面(onCreate()或者onResume())獲取系統的語言:
Locale locale = Locale.getDefault();
String language = locale.getLanguage();1212
language就是我們從系統拿到的語言,這里如果是中文,拿到的是「zh」,如果是英文是「cn」;
3.拿到了系統語言,那麼我們就要通過系統語言的判斷改變我們app對應的系統語言:
protected void showLanguage(String language) {
//設置應用語言類型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
} else {
config.locale = Locale.ENGLISH;
}
resources.updateConfiguration(config, dm);
//保存設置語言的類型(這個裡面我先保存一下,下面會講到他的用處)
PreferenceUtil.commitString("language", language);
}
這樣子,如果你的手機開始的時候系統是中文,那麼你的app就是中文,如果開始的時候系統是英文,那麼你的app就是英文,這個只是適用開始的時候語言就已經設定好了,但是如果你現在的app用的是中文,app沒有退出的情況下,直接去把系統設置成英文,那麼你返回到你的app的時候並不會是英文,依然是中文,必須在程序退出之後,再進來的時候才會成為英文,這樣子的體驗一點都不好,那麼我們怎麼樣才能做到你改系統語言,我的app就跟著去改變呢,所謂的動態改變。那麼我們可以這樣子做。
@Override
protected void onResume() {
super.onResume();
String LAN = PreferenceUtil.getString("language","");
Locale locale = Locale.getDefault();
String language = locale.getLanguage();
Log.i("語言————————",language);
if(!language.equals("")){
if(!LAN.equals(language)){
freshView();//重新啟動MainActivity
}
}
showLanguage(language);
}
private void freshView(){
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}2223
首先PreferenceUtil這個是我自己寫的工具類,就是SharedPreferences存儲,在onResume()裡面,重要的就是做個判斷,拿到的language是不是和之前保存系統的language一樣,如果不一樣,重新啟動MainActivity,這樣子就做到了重新獲取系統language。
F. 安卓手機多應用之間如何切換
長按主屏鍵會出現後台運行的應用,點擊就會出現在桌面。
G. android如何通過adb shell 模擬home鍵盤切換應用
1:查看當前模擬器或者Android設備實例的狀態
一般在使用前都會使用adb devices這個命令查看一下模擬器的狀態,通過這個命令得到ADB的回應信息,可以看到ADB作為回應為每個實例制定了相關的信息
1.1:emulator-5554為實例名稱
1.2:device為實例連接狀態,device表示此實例正與adb相連接,offline表示此實例沒有與adb連接或者無法響應
2:安裝和卸載APK應用程序
你可以從電腦上復制一個APK應用到模擬器或者Android設備上,通過adb install <path_to_apk>安裝軟體,adb uninstall <packageName>卸載軟體,如果你不知道這個包名,在AndroidManifest.xml里的找package=""就可以了
2.1: 先把apk文件拷貝到sdk目錄下的tools
2.2: 進入dos下切換到SDK的安裝路徑下的tools目錄
2.3 :執行安裝命令
adb install <path_to_apk>
發生的錯誤,因為我連接了真機,而且也打開了模擬器,所以adb給我的回應信息是「比一個多的驅動設備和模擬器」,我最後關閉掉了模擬器在運行安裝命令,就提示安裝成功了
卸載APK
3:從本機上復制文件到模擬器或者Android設備
adb push <本地路徑><遠程路徑>,<本地路徑>指的是自己的機器上或者模擬器上的目標文件,<遠程路徑>指的是遠程設備實例上的目標文件
4:從模擬器復制文件到模擬器或者Android設備
adb pull <遠程路徑><本地路徑>,<本地路徑>指的是自己的機器上或者模擬器上的目標文件,<遠程路徑>指的是遠程設備實例上的目標文件
5:使用shell命令
輸入adb shell就可以進入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件
H. android怎麼切換activity
大體思路為:
1.在Activity01中設置一個可觸發的空間,並添加一個觸發器
2.在Activity01的觸發器添加listener
3.在listener的介面實現中,設置一個Intent,讓這個Intent能夠將Activity01和Activity02綁定起來,並且通過putExtra將要傳輸的值放到Intent對象中存儲
3.listener介面實現結尾,通過Activity01啟動調用這個Intent對象,通過調用來切換到Activity02
4.在Activity02中,使用getIntent來獲取上下文切換中使得自己啟動了的那個Intent對象實例
5.通過獲取到的intent對象實例,使用起getStringExtra來獲取先前putExtra的值.
當然,後面如果對Intent更加了解時,就需要按實際情況挑選更合適的存儲數據及獲取數據的函數了
I. Android app API環境切換需求與實現
鑒於app在打包debug ,release, dev 等環境的時候,請求後天api介面的伺服器地址不一樣.導致測試可能頻繁的問你要不同環境的測試apk包.
當工程大到一定程度的時候,gradle打包特別的慢.即使你自己有優化過,而且測試嫌麻煩,開發也覺得麻煩.
api地址變化的應該就基地址,全部變化也有辦法處理.這里把基地址用一個 public static 的 String Url 變數去裝載.
1:默認 Url 地址使用release的地址.
2:release版本的apk 按照需求,啟動app調轉到splash界面.debug版本的apk 跳轉到api選擇界面,當選擇好api環境後,在調轉到原splash界面.
3:選擇api環境的時候,去修改 這個被public static 修飾的Url
1:修改被public static 修飾的String 不是問題.
2:根據不同apk版本啟動不同的界面.這個是一個問題,之前沒處理過類似的需求.好在google 有提供一種解決思路 餃子 manifest merge ( 合並多個清單文件 ),就是根據這個合並演算法去解決這個問題.
創建debug文件夾,新建的項目一般會有3個文件夾,一個是默認類型,一個test 類型,一個Android test類型,這里我們在創建一個debug類型的.
xml文件合並可以合並java 文件,和 資源文件.
我們這里定要創建manifest文件,這是演算法配置的核心,配置就是在這里設置的,其次還有資源文件.
注意創建的時候文件格式應該和main類型的保持一致,可以將as切換到android模式下檢查.
我們這里添加了一個EnvChangeActivity 和對應的布局文件.
這里我們想修改啟動的界面為EnvChangeActivity.所以我們要替換點原main類型下的manifest文件中的配置.
如上設置就會把原Mainactivity中的配置全部替換成當前manifest文件中的配置.後面我們在解釋這些配置.這里將EnvChangeActivity設置成了啟動界面.所以完成了修改啟動界面的功能.
創建一個java配置文件
可以不創在main類型下面.
在EnvChangeActivity中修改地址就好了.修改完之後在跳轉到MainActivity.就原邏輯保持一致了
到這里需求的就已經說明完了.
接下來就說明合並的演算法,在我們使用gradle編譯打包的時候,合並工具會自動幫我們合並.
合並工具根據每個清單文件的優先順序將所有清單文件按順序合並到一個文件中。 例如,如果您有 3 個清單文件,則會先將優先順序最低的清單合並到優先順序第 2 高的清單中,然後再將合並後的清單合並到優先順序最高的清單中
2應用模塊的主清單文件
3所包括庫中的清單文件 如果您有多個庫,則其清單優先順序與依賴順序(庫出現在 Gradle dependencies
塊中的順序)匹配。
合並工具可以在邏輯上將一個清單中的每個 XML 元素與另一個清單中的對應元素相匹配。
如果優先順序較低的清單中的元素與優先順序較高的清單中的任何元素均不匹配,則該元素將被添加至合並清單。 但是,如果有匹配元素,則合並工具會嘗試將其中的所有屬性合並到相同元素中。如果工具發現兩個清單包含相同屬性,但值不相同,則會出現合並沖突。
絕不會在清單之間匹配 <intent-filter>
元素。 每個元素都被視為唯一元素,並添加至合並清單中的常用父元素。
合並規則標記是一個 XML 屬性,可用於表達您對關於如何解決合並沖突或刪除不需要的元素和屬性的首選項。 您可以對整個元素或只對元素中的特定屬性應用標記。
合並兩個清單文件時,合並工具會在高優先順序清單文件中尋找這些標記。
所有標記均屬於 Android tools 命名空間,因此您必須先在 <manifest> 元素中聲明此命名空間,如下文所示:
要向整個 XML 元素(給定清單元素中的所有元素及其所有子標記)應用合並規則,請使用以下屬性:
如果使用合並沖突啟發式演算法時沒有沖突,則合並此標記中的所有屬性以及所有嵌套元素。 這是元素的默認行為。
低優先順序清單
高優先順序清單
合並結果
低優先順序清單
高優先順序清單
合並結果
完全替換低優先順序元素。 也就是說,如果低優先順序清單中有匹配元素,請將其忽略並完全按照其在此清單中顯示樣子來使用該元素。
低優先順序清單
高優先順序清單
合並結果
其他的自己看下官網,上面的解釋也是我搬過來的.
官方解釋
拙劣的dome,可以瞅瞅.
Demo地址