HY,
我正在制作一个简单的秒表。单击“开始”按钮时,状态栏中会显示通知。当我点击通知时,我的秒表停止,并重置为0。 这是通知的意图:
Intent msgIntent = new Intent(this, myActivity.class);
msgIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
PendingIntent intent = PendingIntent.getActivity(myActivity.this,
0, msgIntent,
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
答案 0 :(得分:0)
如果添加Flag没有按预期工作,那么实现您需要的最简单方法是在清单文件中定义特定Activity的launchMode。例如:
<activity
android:name=".myActivity"
android:label="@string/app_name"
android:launchMode="singleTop" >
答案 1 :(得分:0)
尝试以下假人:
Intent msgIntent = new Intent(this, myActivity.class);
msgIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
msgIntent.putExtas(STOP, true);
PendingIntent intent = PendingIntent.getActivity(myActivity.this,
0, msgIntent,
PendingIntent.FLAG_CANCEL_CURRENT);
//In your activity:
onCreate() {
if( getIntent().getBoolean(STOP) )
then stop
}
onNewIntent(Intent _intent) {
if( _intent.getBoolean(STOP) )
then stop
}
答案 2 :(得分:0)
我使用这种方法,问题得到了解决,希望这对你也有帮助;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(this, Main.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);