Я не могу перезапустить одно действие, запущенное PendingIntent.не может перезапустить активность, начатую PendingIntent
«не может перезапустить» ничего не означает, для exmple, OnCreate или onNewIntent является никогда не называется, когда startActivity() о деятельности уже запущен.
Активности по имени MainActivity я не могу перезагрузить это SingleTop и переопределяет onNewIntent.
здесь проявляется о MainActivity.
<activity
android:name="com.example.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Сначала MainActivity запускается уведомлением с ожидающим ожиданием.
Мои PendingIntent является
Intent iS = new Intent(this,MainActivity.class);
iS.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendindIntent pi = PendingIntent.getActivity(this, 0, iS, PendingIntent.FLAG_UPDATE_CURRENT);
И MainActivity выполнить startService()
, а служба выполнения sendBroadcast()
, и BroadcastClass выполнить startActivity(Intent(this,MainActivity.class))
вот BroadcastClass.
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context,MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
Тогда onNewIntent ... не называется ever onCreate.
, но когда программа запускается путем нажатия иконки на экране дома, экран OnNewIntent в MainActivity вызывается этим же потоком.
извините за плохой английский. , пожалуйста, скажите мне, что предложение изменить, если вы не возражаете.
Редактировать: onNewIntent is here.
protected void onNewIntent(Intent intent) {
Log.d("onNewIntent","onNewIntent");
String SOMETHING = intent.getStringExtra("SOMETHING");
LinearLayout ll = (LinearLayout)findViewById(R.id.ll2);
ll.removeAllViews();
TextView textview1 = (TextView)getLayoutInflater().inflate(R.layout.textview, null);
textview1.setText(SOMETHING);
ll.addView(textview1);
}
"onNewIntent" не отображается в LogCat.
Не могли бы вы разместить свой код onNewIntent, пожалуйста? –