我試圖向廣播接收機廣播adb命令。這將是一個非常簡單的任務,但braodcast接收器有:adb廣播與用戶ID
機器人:出口= 「假」
在官方網站android.developer,它說:
如果是「false」,則廣播接收器可以接收的唯一消息是由具有相同用戶ID的相同應用程序或應用程序的組件發送的消息。
所以我試圖將用戶ID添加到廣播。現在我的做法是以下ADB命令:
> adb shell am broadcast -a com.example.action -n com.android.package/.receiverName --user "User_ID"
我在Windows cmd下得到Error: Invalid int: "User_ID"
。此應用程序是一個System-app,更精確,它是默認的電話應用程序。我以爲Adb命令是默認的系統廣播。因此,我的問題是:有沒有辦法通過廣播發送用戶ID或訪問未導出的操作?清單的User_ID和am廣播的User_ID可能有所不同。在此先感謝
P.S:我沒有任何root訪問權限,因爲它應該適用於許多設備,而不需要每個人都生根。作爲最終結果,我想接受一個傳入的視頻電話作爲Audiocall。
謝謝,我正在尋找這樣的答案,如果這些用戶之間存在差異。但是,真的沒有辦法像安裝手機應用程序一樣使用相同的用戶ID來安裝apk。那麼能夠將此操作廣播到系統應用程序? – Foster
@Foster有兩種方法讓兩個APK具有相同的用戶ID,分兩步:1,在AndroidManifest.xml中使用android:sharedUserId; 2,這兩個APK需要由相同的證書籤名。 [http://developer.android.com/guide/topics/manifest/manifest-element.html#uid](http://developer.android.com/guide/topics/manifest/manifest-element.html#uid) – Swing
謝謝。那麼這意味着如果我不是應用程序的作者,我將無法以簡單的方式訪問它們。至於相同的證書,我將需要用戶名和密碼,對吧? – Foster