android打開應用
1. Android中打開其他應用(或者系統應用)Activity或者Fragment總結
最近在做項目適配工作,需要打開手機中設置頁面進行設置。國內 rom 都是自己改過的,適配起來也是稍微的麻煩。同一個功能不同的手機品牌界面都不一樣,純粹的用 adb 命令以及 logcat 來查看每個手機對應的頁面的 Activity 或者 Fragment 以及包名。簡單的記錄一下過程。
在控制台中輸入一下命令,可以查看當前頁面顯示Activity的全部信息
拿小米手機 (Android 6.0, MIUI 9.2 )的鎖屏和密碼這個功能頁面來說。在控制台輸入命令之後,可以看到一長串的信息。
可以看到當前的 Activity 的包名 com.android.settings 以及 Activity 的名稱 SubSettings 。這樣不久可以通過隱士調用打開頁面了么? 直接上手操作一波。
結果很尷尬的,打開的是空白頁,這又是怎麼回事?而且跳轉了幾個頁面在同時輸入上邊命令,也是顯示這個頁面 SubSettings 。這樣就開始疑惑了,想到這應該是小米在上邊改動,通過Fragment來實現相關的功能了。先看看原生的系統源碼。(網上源碼地址: http://androidxref.com/ )。打開源碼,發現沒有實現什麼具體的東西。
但是看到源碼中 protected boolean isValidFragment(String fragmentName) 確定了這其實就是一個 Fragment 的容器。好那再接著看 mpsys 命令的返回信息。
看到 Activie Fargment MiuiSecuritySettings 。 但是又不知道包名,因為手機廠商各種改,不一定包名就是 settings 。就有通過 Android Studio Logcat 找到了解決方案。鏈接手機的時候 Logcat 列印了各種系統的 log 。 Ctrl + F 直接搜索一下 MiuiSecuritySettings 。果然找到了
最後,通過如下的方法,啟動小米系統的鎖屏和密碼設置界面
其他的頁面,應該也是大同小異的處理思路,只能一個個手機來實際適配了,並沒有找到一個很好的解決辦法,挨。
2. 安卓應用為什麼有時候會無法打開
如果您使用的是華為手機,應用出現無法打開的現象,可能是應用版本過舊、應用許可權未開通,系統內存不足等原敬旦因,請您按照以下方法排查:
1 重啟應用
進入手機設置,搜索進入 應用管理界面,找到無法打開的應用,點擊強行停止即可強制退出該應用。然後重新打開該應用。
2 檢查更新
某些應用適配可能對手機系統的版本有要求,建議您檢查更新手機系統版本:
進入手機設置,搜索軟體更新或系統和更新,點擊檢查更新,如果有新版本建議您提前備份數據(QQ、微信等第三方應用需單獨備份),及時升級到最新版本。
溫馨提醒:系統升級後開機時,系統會對手機中的應用程序進行優化,需要消耗一定的開機時間;開機後系統優化過程還會繼續,此時手機負載較高,使用應用時可能會出現卡頓情況。
3 檢查應用兼容性
如果是第三方應用無法打開,您可以在應用市場將應用更新到最新版本,並查看應用是否兼容手機最新版本,或與同安卓版本手機對比。如果應用市場提示不兼容,或者同類手機也出現此問題,可能是應用自身問題,建議您嘗試咨詢應用開發商尋找解決方案。
4 檢查應用許可權
如果手機禁止了困擾第三方軟體的某些許可權可能會導致應用無法打開。您可以在許可權管理中打開許可權:進入手機設置,搜索進入許可權管理,找到需要設置的應用,打開相關許可權。
5 清除應用數據
可能是應用緩存文件出現異常,您可以刪除應用數據嘗試:打開設置,搜索進入應用管理,找到具體應用,然後點擊存儲 > 刪除數據 。
提醒亮尺擾:刪除數據操作可能會將部分應用數據刪除,如「微信、旅行青蛙」,建議您提前備份數據。
6 卸載重裝應用
您可以卸載重裝應用使用:在桌面上長按應用圖標,點擊卸載。然後在華為應用市場重新下載安裝使用。
提醒:卸載重裝會導致應用數據被刪除,如「微信、旅行青蛙」,建議您提前備份數據。
7 嘗試卸載更新Android System Webview(僅限GMS設備)
對於 GMS的設備(點擊設置 > 應用 > 應用管理,點擊三個點 >顯示系統進程,搜索「Google」。如果可以搜索到Google服務框架或Google Play 服務等應用,則說明您的設備已集成GMS;如果沒有搜索到,則您的設備未預裝GMS),可能是更新了Webview後存在兼容性問題導致應用運行異常。請嘗試卸載更新Android System Webview :
進入手機設置 > 應用 > 應用管理,然後單擊右上角的三個點選擇顯示系統進程。找到Android System Webview進入;
(1)若啟用按鈕可選擇,點擊啟用。
(2)若右上角存在三個點圖標,則點擊此圖標並選擇卸載更新。然後重新啟動設備。
8 清理手機存儲空間
系統內存不足可能會導致一些佔用內存大的應用出現無法打開的現象,建議您及時清理手機存儲空間。建議保證可用內存至少剩餘20%。
9 恢復出廠設置
建議您備份好數據後(QQ、微信等第三方應用需單獨備份)將手機恢復出廠設置:
進入手機設置,搜索恢復出廠設置,根據手機界面提示完成恢復出廠設置操作。
如果問題仍無法解決,請您提前備份好數據(QQ、微信等第三方應用需單獨備份),攜帶購機憑證前往華為客戶服務中心檢測。
3. android怎麼打開另外的應用程序
我們可以通過ComponentName以及Intent的setComponent來實現:在一個應用程序裡面啟動另外一個已經安裝的應用程序或系統程序。
下面是一個在一個應用程序裡面啟動另外一個已經安裝的程序,如下:
[javascript]
//組件名稱,第一個參數是應用程序的包名,後一個是這個應用程序的主Activity
ComponentName com = new ComponentName("com.antroid.Test", "com.antroid.Test.TestActivity");
Intent intent = new Intent();
//設置部件
intent.setComponent(com);
startActivity(intent);
//組件名稱,第一個參數是應用程序的包名,後一個是這個應用程序的主Activity
ComponentName com = new ComponentName("com.antroid.Test", "com.antroid.Test.TestActivity");
Intent intent = new Intent();
//設置部件
intent.setComponent(com);
startActivity(intent);
我們也可以使用下面的代碼啟動系統的日歷程序:
[javascript]
Intent intent=new Intent();
intent.setComponent(new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity"));
startActivity(intent);
Intent intent=new Intent();
intent.setComponent(new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity"));
startActivity(intent
4. Android從瀏覽器中打開本地應用
開發中遇到的一些問題特此記錄:
1、應用場景一 在瀏覽器中要求直接打開到安裝的應用中
需要在該應用的啟動Activity 清單文件中進行配置
<Intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="com..test"
android:scheme="text"/>
</Intent-filter>
此處對應的data數據 跟伺服器人員進行交互的時候為:text://com..test
2、中前應用場景二 在瀏覽器中進行打開 並且要求打開指定的具體的頁面
首先得在清單文件中進行上面一樣的配置 接著和從其他跳轉的activity中獲取的一樣 ,通過intent來進行數據的獲取
if(intent !=null) {
Uri uri = intent.getData();
if(uri !=null) {
String host = uri.getHost();
帆扒 LogUtil.d(TAG,host);
String data = uri.getQueryParameter("code");
try{
jumpData= URLDecoder.decode(data,"UTF-8");
LogUtil.d(TAG,jumpData);
}catch(UnsupportedEncodingException e) {
e.printStackTrace();
賣轎清 }
}
}
這樣獲取到的數據就是需要的數據 所要跳轉的具體信息具體跳轉類型都會獲取到,然後在跟以前一樣進行跳轉就可以了。
5. 安卓手機怎麼打開apk文件
apk是安卓的軟體安裝包,安卓軟體必須先安裝才能用。手機都有自帶的文件管理器,用這個軟體找到apk的所在位置,點擊即可打開安裝。
1.先要在高級設置裡面允許安裝非官方渠道獲取的應用程序。
(5)android打開應用擴展閱讀:
APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。
通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。
APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱;
即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。
Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別。
文件結構
1. META-INF (註:Jar文件中常可以看到);
2. res (註:存放資源文件的目錄) ;
3. AndroidManifest.xml (註:程序全局配置文件) ;
4. classes.dex (註:Dalvik位元組碼);
5. resources.arsc (註:編譯後的二進制資源文件)。
APK 是類似Symbian Sis 或Sisx 的文件格式。通過將APK 文件直接傳到Android 模擬器或Android 手機中執行即可安裝。
6. Android應用程序啟動流程總結
AMS主要功能:
AMS是Android中最核心的服務,主要負責系統中四大組件的啟動、切換、調度及應用進程的管理和調度等工作。還負責啟動或殺死應用程序的進程。
WMS主要功能:
為所有窗口分配Surface。
管理Surface的顯示順序、尺寸、位置。
管理窗口動畫。
輸入系統相關:WMS是派發系統按鍵和觸摸消息的最佳人選,當接收到一個觸摸事件,它需要尋找一個最合適的窗口來處理消息。
PWS主要功能:
PMS 用來管理跟蹤所有應用APK,包括安裝,卸載,解析,控制許可權等。
SystemServer也是一個進程,包括AMS、PMS、WMS等等。
zygote意為「受精卵「。Android是基於Linux系統的,而在Linux中,所有的進程都是由init進程直接或者是間接fork出來的,zygote進程也不例外。
App進程是用戶點擊桌面icon時,通過Launcher進程請求SystemServer,再調用Zygote孵化的。
①點擊啟動一個App,Launcher進程採用Binder IPC向ActivityManagerService發起startActivity請求;
②ActivityManagerService接收到請求後,向zygote進程發送創建進程的請求;
③Zygote進程fork出新的子進程,即App進程;
④App進程通過Binder IPC向sytem_server進程發起綁定Application請求;
⑤system_server進程在收到請求後,進行一系列准備工作後,再通過binder IPC向App進程發送scheleLaunchActivity請求;
⑥App進程的binder線程(ApplicationThread)在收到請求後,通過handler向主線程發送LAUNCH_ACTIVITY消息;
⑦主線程在收到Message後,通過發射機制創建目標Activity,並回調Activity.onCreate()等方法。
⑧到此,App便正式啟動,開始進入Activity生命周期,執行完onCreate/onStart/onResume方法,UI渲染結束後便可以看到App的主界面。
備註:
Launcher,PMS,Zygote,App進程是三個獨立的進程,相互通信就需要使用進程間通信機制。與Zygote通信是使用的socket通信,Launcher,PMS,App進程間使用的是Binder機制。
7. 如何打開android平板應用程序包
android 平板 不支持apk
android 平板 不支持apk,平板電腦上怎麼無法打開apk文件
Alysssssa
轉載
關注
0點贊·5878人閱讀
1
首先,要確定你的APK文件的性質,是在電腦的什麼位置,電腦中是否有能打開APK文件的軟體,如果沒有的話,要安裝些類軟體或在手機里打開APK文件。
2
apk軟體是基於LINX開發的,而我們現在用的電腦系統一般都是windos操作系統橘敏,所以肯定不能直接打開。
所以要藉助一些軟體或其它方法才能在電腦中打開。
3
APK文件是zip格式游老,可以在電腦中右鍵點擊文件選擇打開方式,然後選擇用winrar打開來查看文件中的內容。
或者更改文件後綴名為.rar,然後用winrar文件解壓,會得到一個文件夾,裡面就是改程序的源文件了。
4
如果想在電腦中打開下載了的apk文件,也可以下載一豌豆莢或91助手類型的軟體,安裝在電腦上,這時,把手機通過USB數據線連接到電腦上,在電腦上可以讀出APK文件並且可以安裝在手機。
5
如果用帶有安卓(Android)系統手機的「ES瀏覽器」找到存放手機內的apk文件,點擊後等於把文件進行了解壓,這時會問你是否安裝此文件,你如果同意的話,此軟體就會安裝在你的手機內了。
這是用手機直接打開APK文件的最好辦法。
6
其實APK文件只是zip格式文件一種,是安裝在安卓手機上,後綴名為apk的一種類型的文件。
安卓系統手機的操作系統本身有打開這類文件的軟體,通過UnZip解壓後,圓磨枝可以便可以直接安裝在安卓手機系統內了