2013-04-03 108 views
2

我在我的应用程序中使用android:launchMode="singleInstance"如何在Android的api 2.3.3编译&完美运行,但是当我部署了我在总部设在api 4.0 Android操作系统的应用程序,意图无法启动在背景中。 android launchmode和android api的版本有什么关系?关于Android:launchMode =“singleInstance”兼容性

+0

嗨兼容。我有同样的问题,你有没有找到任何理由? –

+0

嗨,我已经试过这段代码:\t \t Intent intent = new Intent(); \t \t intent.setClass(context,com.entreprise.test.class); \t \t intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); \t \t context.startActivity(intent); –

+1

谢谢,我解决了它与singleTask更改launchMode –

回答

2

最后,我得到它的工作。以下是我的问题的解决方案。

这是我BroadcastReceiver

public class BroadcastReceive extends BroadcastReceiver{ 
    // Display an alert that we've received a message.  
    @Override 
    public void onReceive(Context context, Intent intent){ 
     Intent i = new Intent(context,CallActivity.class); 
     i.setAction(Intent.ACTION_VIEW); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_FROM_BACKGROUND); 
     context.startActivity(i); 
    } 
} 

而且在manifest.xml

<activity 
    android:name=".callActivity" 
    android:label="@string/invite_activity_lbl" 
    android:launchMode="singleTask"> 

    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
    </intent-filter> 
</activity> 

这是一个与API级别11多