Мне нужно отправить ссылку через Intent.
Ссылка имеет вид http://www.google.com.
Когда я отправляю строку с такой ссылкой,при получении через getStringExtra, ссылка имеет вид google.com
В моём коде в str2 находится эта ссылка. По логом видно,что она преображается только тогда,когда при нажатии на уведомление мы переходим в другой Активити,в котором мы обрабатываем эту ссылку.
Код оповещения:
public void pushText(String str1,String str2){
Notification notification=new Notification(R.mipmap.ic_launcher,"Status bar",
System.currentTimeMillis());
Intent intent=new Intent(this,WebActivity.class);
intent.putExtra(KEY,str2);
Log.i(TAG,str2);
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);
Notification.Builder builder = new Notification.Builder(this);
// оставим только самое необходимое
builder.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher_background)
.setContentTitle("Оповещение")
.setContentText(str1); // Текст уведомления
notification = builder.build();
notification.defaults = Notification.DEFAULT_SOUND |
Notification.DEFAULT_VIBRATE;
nm.notify(NOTIFICATION_KEY,notification);
Код активити, на которую переходим при нажатии:
public class WebActivity extends AppCompatActivity {
XWalkView web;
String url;
public static final String TAG = "WebActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**Растянуть окно на весь экран**/
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_web);
Intent intent=getIntent();
url=intent.getStringExtra(MainActivity.KEY);
Log.i(TAG,url);
//Uri uri=Uri.parse(url);
web=(XWalkView) findViewById(R.id.web_xwalkview);
web.load(url, null);
}
@Override
public void onBackPressed() {
finish();
startActivity(new Intent(getApplicationContext(),MainActivity.class));
}
}
Update: изменил немного код MainActivity
Intent intent=new Intent(this,WebActivity.class);
intent.putExtra("URL_PUSH",str2);
Log.i(TAG,str2);
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);
WebActivity:
Intent intent=getIntent();
url=intent.getStringExtra("URL_PUSH");
Сейчас url=null пишет
Возможно проблема у вас с KEY
. Попробуйте передать вот так
intent.putExtra("URL", "http://www.google.com");
На принимающей стороне
Intent intent=getIntent();
String url = intent.getStringExtra("URL");
У меня выходит все как задумано
I/log:url : - http://www.google.com
upd.
Попробуйте изменить -
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,0);
на
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как сделать reset() для testMock, после первого вызова?