我正在尝试使用AppLinking或DeepLinking
打开特定网址的应用根据我的理解:
<data android:scheme="http"
android:host="example.org"
android:pathPrefix="?????????"/>
我必须按照此格式接收带有网址的请求:http://example.org/app/ ......
但我担心的是我有两个URL https://example.org/somestring (打开产品说明的网址) ProductDescActivity https://example.org/somestring-VS-somestring (打开产品比较的网址) ProductCompActivity
我在mainfest文件中定义了如上所述的结构,但我没有固定的 PathPrefix 值
Main Activity
public class Main2Activity extends AppCompatActivity implements
LoaderManager.LoaderCallbacks<Cursor>{
TextView t1;
RecyclerView mRecyclerView;
RecyclerAdapter recyclerAdapter;
RecyclerAdapter adapter;
List<Info> infoList;
String arrr;
int ar;
int Loader_id=1;
private RecyclerView.LayoutManager mLayoutManager;
SimpleCursorAdapter simpleCursorAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
final DatabaseHandler db = new DatabaseHandler(this);
List<Info> infos = db.getAllInfo();
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.addItemDecoration(new SimpleDivider(Main2Activity.this));
recyclerAdapter = new RecyclerAdapter(this, infos);
mRecyclerView.setAdapter(recyclerAdapter);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return null;
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
}
}
如果我将此结构添加到我的两个活动中,那么活动可能会打开
如何管理请求并为此类url请求执行AppIndexing,其中pathPrefix未修复或更直接 如何处理没有任何子域的URL
答案 0 :(得分:2)
尝试将应用链接到主要活动 意味着这个
<data android:scheme="http"
android:host="example.org"
/>
将在mainActivity中指定,并在mainActivity中检测您所知道的URL类型,然后从mainactivity将其指向特定活动ProductDescription或ProductComparison
第二个选项是您指定带有路径前缀的URL,例如XYZ,并在服务器端将URL重定向到实际的URL
<data android:scheme="http"
android:host="example.org"
android:pathPrefix="XYZ"/>
https://example.org/XYZ/somestring -----&gt;重定向到https://example.org/somestring