A. 為什麼安卓 APP 之間能互相喚醒
收發廣播的老流氓
B. 如何解決安卓手機頻繁喚醒的問題
如果你遇到這種問題的話,你可以在手機的自啟動向你取消,開機自啟動,一般的情況下可以取消其喚醒了,如果還是不行了,那麼就要將系統root了,然後你就可以直接把這個東西刪除了。
C. android os進程長時間處於「保持喚醒狀態」,什麼原因
我也在找這個問題解決辦法,但是很遺憾 還沒有!下邊有一篇文章寫的比較清楚:只有飛行模式有辦法解決!而且還有個問題:今天半天時間看了下流量,這個進程居然一下耗費了13M多的流量,真的不知道是什麼情況!!
------------------------------以下轉自網路--------------------------------
Android OS 進程耗電多的問題是否有解決辦法?
簡單的說就是Android手機(根據查閱,各種型號Android手機均有可能出現此情況)變得異常費電,查看電量信息,android os進程耗電最大,待機時佔用到60%+的電量。
網友總結有以下特點:
1.關掉背景同步和各種谷歌服務,無效
2.用鈦同步凍結各種有可能在待機時工作的服務和軟體(包括各種谷歌服務),無效
3.能挪到SD卡的程序統統挪到SD卡,無效
4.關掉WLAN,GPS,數據傳輸,數據漫遊,無效
5.打開USB調試,無效
6.充滿電以後重啟一次,無效
7.用CPU大師設置屏幕關閉時自動降頻至384MHZ或者192MHZ,無效
8.用PLUS工具箱提高超頻電壓,因為不能設置1.2GHZ以上的值,嘗試設置成56-800一類的若干組高電壓數值,無效
9.飛行模式,有效
10.考慮到9有效,綜合考慮4,因此在4的基礎上,手動指定運營商為聯通,並設置為2G網路,無效
11.用PLUS工具箱切換了O2,港版,新歐版等幾種基帶配置,無效
12.刷ROM,無效
13.用autostart關掉各種自啟動關聯,無效
網友分析得出的原因:
「不
正常耗電是因為android os在待機時不斷喚醒設備造成的。至於具體是什麼子進程在不斷讓android os工作,可以通過wake
lock的使用情況來確定。所以安裝模擬終端,用take
wakelock的方式得到/proc/wakelock文件,然後進行查看,結果數次查看的結果都是mmc_delayed_work進程非常頻繁的使
用wake lock。(1小時5000次以上)然後重啟在充電和飛行模式下做同樣的測試,結果mmc_delayed_work進程使用wake
lock的次數幾乎可以忽略(只有幾次),據此基本可以確定,是mmc_delayed_work在不插電的情況下工作不正常,不斷請求CPU資源,導致了android os一直喚醒待機時的設備,造成異常耗電。此問題基本上和谷歌服務什麼的沒任何關系。」
那麼,這種情況應該如何解決呢?這樣的好點基本導致手機無法正常使用了,但純待機都到不了12小時,希望有高人給用戶些建議
D. 安卓後台應用為何喜歡互相喚醒
一般不會互相喚醒,安卓後台應用需要注冊事件才能喚醒,例如網路連接改變,鎖屏喚醒等,這些事件會喚醒所有注冊該事件的應用,因此看起來是互相喚醒。
E. airpodspro安卓為什麼一開主動降噪就喚醒了語音助手
恢復出廠或者用設置,不過最大的可能是卡了。無法喚醒語音助手(下載的第三方應用現在會將AirPodspro識別成別的耳... *降噪體驗十分完美 ps: 1.同時打開藍牙會優先鏈接安卓2.連接過安卓後需放。
F. 在Android系統上啟動知乎app時會喚醒微信是什麼原因
本回答信息來自針對微信Android客戶端以及知乎Android客戶端的分析。
我手機上裝了一鍵清理的軟體,平時從來不讓微信在後台運行,但是每當打開知乎,不出三秒,微信消息就來了,消息並不固定,只是感覺微信被打開了,我在想知乎是不是跟微信合作,後台打開微信,然後以此來賺錢的呢?
首先針對題主的疑問,准備的回答:不是
實際的情況是,知乎調用微信sdk中分享的相關介面,微信sdk的相關介面裡面,給微信發送了一個廣播,微信app就被喚醒了,這不是知乎的主觀行為,而是微信的(而且結合實際的分析來看,這個應該也算是正常的功能)。
以下是詳細分析:
1 首先說一下app的被喚醒(自啟動)機制。
app自啟動,基本上都是依靠Android的廣播來實現的,而且是靜態注冊的廣播(在AndroidManifest.xml文件中進行配置的廣播),發送廣播的方法在一般情況下是sendBroadcast。
2 按照慣例,反編譯一下微信apk,然後搜索一下它能夠由哪些靜態廣播進行喚醒,同時抓取廣播相關的log。
結合微信的AndroidManifest.xml文件以及抓取的log,可以知道相關的BroadcastReceiver是EntryReceiver,相關的action 為
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER
從其名稱上看,是和注冊/注銷相關,具體接收到廣播之後做了哪些處理,這些就不贅述了。
I/ActivityManager( 1107): Start proc com.tencent.mm for broadcast com.tencent.mm/.plugin.base.stub.WXEntryActivity$EntryReceiver: pid=28779 uid=10131 gids={50131, 3003, 1028, 1015, 3002, 3001}
<receiver android:name="com.tencent.mm.plugin.base.stub.WXEntryActivity$EntryReceiver">
<intent-filter>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER"/>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER"/>
</intent-filter>
3 接下來分析知乎的代碼
搜索一下知乎反編譯之後的smali文件(sendBroadcast),其中只有一條是和微信相關的
hu_2.0.3_176/smali/com/tencent/mm/sdk/openapi/j.smali: invoke-virtual {v0, v4, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
再看一下反編譯的java文件,能夠比較清楚的看到,就是利用com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
這個action來進行注冊,檢查一些必要的信息。
根據這些信息,結合微信和知乎反編譯之後的文件,已經可以完整的分析具體發生了哪些事情了。
com.tencent.mm.sdk.openapi.j
public final boolean a(String paramString)
{
if (!b("com.tencent.mm"))
{
com.tencent.mm.sdk.platformtools.a.a("MicroMsg.SDK.WXApiImplV10", "register app failed for wechat app signature check failed");
return false;
}
this.b = paramString;
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.WXApiImplV10", "register app " + this.a.getPackageName());
Context localContext = this.a;
String str1 = "weixin://registerapp?appid=" + this.b;
String str2 = "com.tencent.mm" + ".permission.MM_MESSAGE";
Intent localIntent = new Intent("com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER");
String str3 = localContext.getPackageName();
localIntent.putExtra("_mmessage_sdkVersion", 553910273);
localIntent.putExtra("_mmessage_appPackage", str3);
localIntent.putExtra("_mmessage_content", str1);
localIntent.putExtra("_mmessage_checksum", b.a(str1, str3));
localContext.sendBroadcast(localIntent, str2);
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.MMessage", "send mm message, intent=" + localIntent + ", perm=" + str2);
return true;
}
4 最後,因為偷懶,所以我只是大概的靜態分析了相關代碼,沒發現知乎和微信做了什麼喪失的事情,然後大概加了段log check了一下,從中也可以看出的確是和分享有關,至於使用時機及頻率是否合適,這個和問題沒什麼關系,不做討論。
D/hillwind( 5766): java.lang.Throwable
D/hillwind( 5766): at com.hillwind.android.util.RLog.printStackTrace(RLog.java:11)
D/hillwind( 5766): at com.tencent.mm.sdk.openapi.j.a(Unknown Source)
D/hillwind( 5766): at com.hu.android.util.af.b(WeChatHelper.java:43)
D/hillwind( 5766): at com.hu.android.widget.a.b(ActivityChooserModel.java:721)
D/hillwind( 5766): at com.hu.android.widget.ShareActionProvider.setShareIntent(ShareActionProvider.java:98)
D/hillwind( 5766): at com.hu.android.ui.fragment.bx.a(QuestionViewerFragment.java:221)
D/hillwind( 5766): at android.support.v4.app.j.a(FragmentManager.java:1973)
D/hillwind( 5766): at android.support.v4.app.g.onCreatePanelMenu(FragmentActivity.java:226)
D/hillwind( 5766): at android.support.v7.a.b.a(ActionBarActivity.java:233)
D/hillwind( 5766): at android.support.v7.a.g.a(ActionBarActivityDelegateICS.java:146)
D/hillwind( 5766): at android.support.v7.a.b.onCreatePanelMenu(ActionBarActivity.java:200)
D/hillwind( 5766): at android.support.v7.a.g$a.onCreatePanelMenu(ActionBarActivityDelegateICS.java:293)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:472)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:878)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:257)
D/hillwind( 5766): at android.os.Handler.handleCallback(Handler.java:733)
D/hillwind( 5766): at android.os.Handler.dispatchMessage(Handler.java:95)
D/hillwind( 5766): at android.os.Looper.loop(Looper.java:136)
D/hillwind( 5766): at android.app.ActivityThread.main(ActivityThread.java:5140)
D/hillwind( 5766): at java.lang.reflect.Method.invokeNative(Native Method)
D/hillwind( 5766): at java.lang.reflect.Method.invoke(Method.java:515)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
D/hillwind( 5766): at dalvik.system.NativeStart.main(Native Method)
G. 安卓系統不同的軟體總是被喚醒是怎麼回事
安卓系統不同的軟體總是被喚醒是因為軟體被允許在後台運行,有消息就自動喚醒。
解決方法:設置-自啟管理里關閉軟體自動後台啟動。
或者在安裝軟體完成時禁止軟體後台運行。
H. 安卓手機雙擊喚醒屏幕怎麼實現的
可以通過設置來完成,以魅族手機為例,具體操作方法如下:
1、在手機主界面打開設置。
I. 為什麼那麼多安卓應用要互相喚醒,為什麼要
國內沒有谷歌原裝android系統,沒有谷歌機制的監管,大家不得不這么做