我無法從作爲系統應用程序加載到自定義ROM中的應用程序發送Broadcast
(在Manifest
中使用android:sharedUserId="android.uid.system"
)。在系統應用程序中使用sendBroadcast
我得到的問題是試圖執行一個簡單的sendBroadcast時:
Intent newIntent = new Intent(intent.getExtras().getString(BUNDLE_ACTION_TO_REPLY_ON));
newIntent.putExtra(BUNDLE_FILE_URI, bitmapFile.getAbsolutePath());
newIntent.putExtra(BUNDLE_REPLY_WIDTH, width);
newIntent.putExtra(BUNDLE_REPLY_HEIGHT, height);
newIntent.putExtra(BUNDLE_REPLY_EXTRA, extra);
context.sendBroadcast(newIntent);
我得到在logcat中這樣的警告:
Calling a method in the system process without a qualified user
這是由泵出ContextImpl.java
在warnIfCallingFromSystemProcess()
過程中。
有誰知道爲什麼(如果我需要「修復」它)?
你可以顯示你初始化上下文的位置嗎? – RvdK
它作爲Broadcast Receiver的一部分傳入('public void onReceive(final final context,final Intent intent)') – Graeme
這個BroadcastReceiver是你的系統應用程序嗎? – RvdK