Ich möchte, wenn klicken Sie auf meiner Website Post, öffnen Sie diesen Beitrag (Inhalt) in meiner Anwendung und nicht im Webbrowser geöffnet.
Wie setze ich DeepLink in meiner Anwendung auf Android
Zum Beispiel: Wenn Sie auf www.example.com/365
klicken, öffnen Sie diesen Beitrag in meine Anwendung.
Für dieses Problem ich weiß sollte DeepLink
, und ich habe diese Parameter in meine Anwendung hinzugefügt. aber ich weiß nicht, wie kann ich dies einstellen und säen mein Beitrag Inhalt (Titel, Bild, Beschreibung und mehr ...) in meine Anwendung.
Meine API Anfrage: Link
ich diese Codes in manifeste hinzugefügt:
<activity android:name=".Activities.PostShow_page">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.example.com"
android:scheme="http" />
</intent-filter>
</activity>
Und ich hinzufügen, um diesen Codes in der Aktivität:
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
Tätigkeitskodes:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post_show_page);
bindActivity();
// Initialize
context = PostShow_page.this;
favDB = new FavHelper(context);
postShow_favPost = (ShineButton) mToolbar.findViewById(R.id.post_FavImage);
post_cover = (ImageView) findViewById(R.id.postShow_cover_image);
postShow_title = (TextView) findViewById(R.id.postShow_title);
postShow_title2 = (TextView) findViewById(R.id.postShow_titleBig);
//postShow_content = (TextView) findViewById(R.id.postShow_content_text);
postShow_dateTime = (TextView) findViewById(R.id.postShow_man_date_text);
postShow_author = (TextView) findViewById(R.id.postShow_man_author_text);
postShow_category = (TextView) findViewById(R.id.postShow_man_category_text);
title_sliding = (TextView) findViewById(R.id.post_sliding_title);
comment_Recyclerview = (RecyclerView) findViewById(R.id.comment_recyclerView);
post_content_web = (WebView) findViewById(R.id.postShow_content_web);
mLayoutManager = new LinearLayoutManager(this);
mAdaper = new CommentAdapter2(context, models);
//Give Data
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
postID = bundle.getInt("postID");
title = bundle.getString("title");
image = bundle.getString("image");
content = bundle.getString("content");
dateTime = bundle.getString("dateTime");
author = bundle.getString("author");
category = bundle.getString("category");
categoryID = bundle.getString("categoryID");
}
// Deep Linking
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
mAppBarLayout.addOnOffsetChangedListener(this);
// Setup comment RecyclerView
comment_Recyclerview.setLayoutManager(mLayoutManager);
comment_Recyclerview.setHasFixedSize(true);
postShow_favPost.init(this);
postShow_favPost.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (postFavState == 0) {
/// Add to Database
favDB.insertFAV(context, title, image, content, dateTime, author, category);
postFavState++;
} else {
postShow_favPost.setBtnColor(ContextCompat.getColor(context, R.color.favColorON));
postShow_favPost.setBtnFillColor(ContextCompat.getColor(context, R.color.favColorON));
TastyToast.makeText(context, "برای حذفش به علاقه مندی ها برو", TastyToast.LENGTH_LONG, TastyToast.WARNING);
}
}
});
if (favDB.checkFavPost(title)) {
postShow_favPost.setBtnColor(ContextCompat.getColor(context, R.color.favColorON));
postShow_favPost.setBtnFillColor(ContextCompat.getColor(context, R.color.favColorOFF));
} else {
postShow_favPost.setBtnColor(ContextCompat.getColor(context, R.color.favColorOFF));
postShow_favPost.setBtnFillColor(ContextCompat.getColor(context, R.color.favColorON));
}
//mToolbar.inflateMenu(R.menu.post_menu);
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_share:
break;
}
return true;
}
});
startAlphaAnimation(mTitle, 0, View.INVISIBLE);
// Set Data into views
if (title != null) {
postShow_title.setText(title);
postShow_title2.setText(title);
title_sliding.setText(getResources().getString(R.string.comment_title) + " " + title);
}
loadPostProgressDialog.createAndShow(this);
if (image != null) {
Glide.with(this)
.load(image)
.placeholder(R.drawable.post_image)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target,
boolean isFromMemoryCache, boolean isFirstResource) {
loadPostProgressDialog.dissmis();
return false;
}
})
.into(post_cover);
}
if (content != null) {
//postShow_content.setText(Html.fromHtml(content));
post_content_web.getSettings().setJavaScriptEnabled(true);
WebSettings settings = post_content_web.getSettings();
settings.setDefaultTextEncodingName("utf-8");
post_content_web.loadData(content, "text/html; charset=utf-8", "utf-8");
}
if (dateTime != null) {
postShow_dateTime.setText(dateTime);
}
if (author != null) {
postShow_author.setText(author);
}
if (category != null) {
postShow_category.setText(category);
}
post_cover.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BlurBehind.getInstance().execute(PostShow_page.this, new OnBlurCompleteListener() {
@Override
public void onBlurComplete() {
startActivity(new Intent(PostShow_page.this, DialogImage_page.class)
.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
.putExtra("imageCover", image));
}
});
}
});
postShow_category.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (categoryID != null) {
startActivity(new Intent(PostShow_page.this, Category_page.class)
.putExtra("categoryID", categoryID)
.putExtra("categoryTitle", category));
}
}
});
//Sliding Up
slideHandleButton = (ImageView) findViewById(R.id.image_sliding);
slidingDrawer = (SlidingDrawer) findViewById(R.id.SlidingDrawer);
slidingDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() {
@Override
public void onDrawerOpened() {
slideHandleButton.setImageResource(R.drawable.ic_down_arrow_sliding);
title_sliding.setText(getResources().getString(R.string.comment_title) + " " + title);
// Load Comment data
bindData();
}
});
slidingDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {
@Override
public void onDrawerClosed() {
slideHandleButton.setImageResource(R.drawable.ic_up_arrow_sliding);
title_sliding.setText(getResources().getString(R.string.comment_title) + " " + title);
}
});
}
private void bindActivity() {
mToolbar = (Toolbar) findViewById(R.id.postShow_toolbar);
mTitle = (TextView) findViewById(R.id.postShow_title);
mTitleContainer = (LinearLayout) findViewById(R.id.postShow_linearlayout_title);
mAppBarLayout = (AppBarLayout) findViewById(R.id.postShow_appBar);
}
private void bindData() {
// Setup Connect
Retrofit_ApiInterface apiInterface = Retrofit_ApiClient.getClient().create(Retrofit_ApiInterface.class);
Call<R_CatModelResponse> call = apiInterface.getCatResponse(postID);
Log.d("PostID", "Post : " + postID);
call.enqueue(new Callback<R_CatModelResponse>() {
@Override
public void onResponse(Call<R_CatModelResponse> call, Response<R_CatModelResponse> response) {
if (response != null) {
models.addAll(response.body().getCat_posts().get(0).getComments());
mAdaper.notifyDataSetChanged();
Toast.makeText(PostShow_page.this, "GoTo Adapter", Toast.LENGTH_SHORT).show();
comment_Recyclerview.setAdapter(mAdaper);
}
}
@Override
public void onFailure(Call<R_CatModelResponse> call, Throwable t) {
Toast.makeText(PostShow_page.this, "Failed", Toast.LENGTH_SHORT).show();
}
});
}
Mit Bündel i Daten von adapter (position)
geben, aber in deep link ich weiß nicht, wie ich Daten aus Post-ID geben kann (News/365) und stellt in Aussicht!
Jetzt, wenn ich auf diesen Link klicke: www.example.com/365
, es öffnet sich in meiner Anwendung, aber es zeigt nicht den Beitrag Inhalte (Titel, Bild, Beschreibung und mehr ...).
POJO Klasse: (mit Setter und Getter)
public class R_CatModel {
@SerializedName("id")
public Integer id;
@SerializedName("type")
public String type;
@SerializedName("slug")
public String slug;
@SerializedName("url")
public String url;
@SerializedName("status")
public String status;
@SerializedName("title")
public String title;
@SerializedName("title_plain")
public String title_plain;
@SerializedName("content")
public String content;
@SerializedName("excerpt")
public String excerpt;
@SerializedName("date")
public String date;
@SerializedName("modified")
public String modified;
@SerializedName("comment_count")
public int comment_count;
@SerializedName("comment_status")
public String comment_status;
@SerializedName("thumbnail")
public String thumbnail;
@SerializedName("thumbnail_images")
public R_CatThumbnailImages thumbnail_images;
@SerializedName("categories")
public List<R_CatCategory> categories;
@SerializedName("author")
public R_CatAuthor catAuthor;
@SerializedName("comments")
public List<R_PostComment> comments;
Wie kann ich es tun? Bitte hilf mir.
Vielen Dank im Voraus.
Können Sie mir Code senden? Ich bin Amateur! bitte mein Bruder. Sende mir Code, lease <3 –