在實際應用中的主要活動我startService:不能「startActivity」,從服務,而主要活動停止
startService(new Intent(MainActivity.this, BluetoothService.class).putExtra("address", address));
其建立與PC藍牙連接。然後,我按下android手機上的主頁按鈕,主要活動將變爲背景。我從PC發送呼叫命令到手機和調試結果表明,業務的正常收到該命令,並試圖撥打:
String[] splits = parameters.split("\\|");
String number = splits[0];
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + number));
ConnectionManager.getInstance().GetMainActivity().startActivity(intent);
但呼叫活動只有午飯時,我在屏幕上顯示的主要活動。
在清單:
<service android:name="BluetoothService" >
我試圖使用Android:過程= 「:newThread」 的標籤,但服務於行墜毀
ConnectionManager.getInstance().GetMainActivity().startActivity(intent);
我也不能調試服務時,它不同的過程。
編輯://///////////////////////////////////
我有一個問題,我從簡單的類開始活動:
class Command_call_impl implements CommandImpl
{
public void Execute(String parameters)
{
String[] splits = parameters.split("\\|");
String number = splits[0];
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("phone_number", number);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ConnectionManager.getInstance().GetMainActivity().startActivity(intent);
}
}
並且無法初始化Intent。看來eclipse無法識別MainActivity,但它在相同的包中。
編輯://///////////// 我以這樣的方式開始活動:
Intent intent = new Intent();
intent.setClass(ConnectionManager.getInstance().GetMainActivity().getBaseContext(), MainActivity.class);
intent.putExtra("phone_number", number);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ConnectionManager.getInstance().GetMainActivity().startActivity(intent);
但onNewIntent稱爲只有當mainActivity有效。我也嘗試過FLAG_ACTIVITY_SINGLE_TOP鍵。
編輯:
Intent intent = new Intent(ConnectionManager.getInstance().GetMainActivity().getBaseContext(), MainActivity.class);
intent.putExtra("phone_number", number);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
ConnectionManager.getInstance().GetMainActivity().getApplication().startActivity(intent);
Intent intent2 = new Intent(ConnectionManager.getInstance().GetMainActivity().getBaseContext(), MainActivity.class);
intent2.putExtra("phone_number", number);
intent2.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
ConnectionManager.getInstance().GetMainActivity().getApplication().startActivity(intent);
我想:雙啓動同一活動後//////////////////////
問題解決了第一個意圖顯示活動和第二個開始呼叫活動。有趣的是,如果我從第一個意圖中刪除intent.putExtra(「phone_number」,數字),它不起作用。它非常好奇。
當屏幕關閉時也不會調用。
你試着打個電話或具有MainActivity撥打電話? – 2013-05-01 17:59:21
是的,當主要活動顯示在屏幕上時,電話工作。 – IKM2007 2013-05-01 18:02:06