我是新開發的android開發人員,所以請在這裏與我聯繫。我現在只是在黑客入侵學習。廣播接收器沒有收到的意圖
我試圖顯示一條消息,當用戶使用標準的Android撥號器發出呼叫。
我在我的活動下面的代碼
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTestButtonListener();
Log.i(LOG_TAG, "Activity started...");
}
private void setTestButtonListener()
{
Button testButton = (Button)this.findViewById(R.id.testButton);
testButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Log.i(LOG_TAG, "Clicked on test...");
Toast.makeText(getApplicationContext(), (CharSequence)"You clicked on the test button" ,Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+150));
MainActivity.this.sendOrderedBroadcast(intent, null);
MainActivity.this.startActivity(intent);
Log.i(LOG_TAG, "intent broadcasted... I think... ");
}
});
}
然後在廣播接收器(以及從它派生的類):
public class OnMakingCallReceiver extends BroadcastReceiver
{
private static final String LOG_TAG = OnMakingCallReceiver.class.getSimpleName() + "_LOG";
@Override
public void onReceive(Context context,Intent intent)
{
Log.i(LOG_TAG, " got here!");
}
}
然後在AndroidManifest.xml
<uses-permission android:name="android.permission.CALL_PHONE" />
<receiver android:name=".OnMakingCallReceiver" android:priority="999">
<intent-filter>
<action android:name="android.intent.action.CALL"/>
</intent-filter>
</receiver>
我點擊測試按鈕,看到這個輸出。
點擊了測試... 意圖廣播......我想......
而且多數民衆贊成。我希望看到「到了這裏!」。
任何想法,爲什麼我不?
感謝,
克里斯
是接收方被定義到清單。不,我想要ACTION_CALL。我已更新原始帖子。你怎麼看? @joe – Chris
有什麼想法?任何人? – Chris
PS我也試過完全限定
Chris