我的项目主要是一个Web应用程序.现在我有一个带有主屏幕小部件的Android应用程序,并希望在内置浏览器中打开某些用户操作的网页.这很容易.在MyAppWidgetProvider.onUpdate中,我创建了一个新的intent:
Intent intent = new Intent("android.intent.action.VIEW",
Uri.parse("http://my.example.com/"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.text, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
不幸的是,每次用户点击小部件时都会打开一个新的浏览器窗口/标签.我的页面包含一些在后台运行的花哨的AJAX/javascript并定期发送http请求.所以我最终得到8个包含相同页面的标签,并不断发送8倍数量的http请求.
是否有任何方法,例如不同的操作或其他参数,以避免打开新标签?
作为一种解决方法,我现在正在考虑创建一个包含WebView的新活动,但希望避免这种复杂性.
Car*_*lan 22
是的,这是可能的.使用http://developer.android.com/reference/android/provider/Browser.html#EXTRA_APPLICATION_ID确保为您的应用程序重用相同的浏览器选项卡.例如:
Context context = widget.getContext();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9807 次 |
最近记录: |