其他APP 跳转到光环助手某个页面
This commit is contained in:
@ -549,81 +549,117 @@ public class MainActivity extends BaseFragmentActivity implements
|
||||
});
|
||||
AppController.addToRequestQueue(request, MainActivity.class);
|
||||
}
|
||||
private Class<?> intentClass(String to) {
|
||||
|
||||
Class aClass = null;
|
||||
try {
|
||||
aClass = Class.forName("com.gh.gamecenter."+to);
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return aClass;
|
||||
}
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String from = getIntent().getStringExtra("from");
|
||||
if (!TextUtils.isEmpty(from)) {
|
||||
if (from.equals("plugin")) {
|
||||
String packageName = getIntent().getStringExtra(
|
||||
"packageName");
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
DownloadManagerActivity.class);
|
||||
intent.putExtra("currentItem", 1);
|
||||
intent.putExtra("packageName", packageName);
|
||||
startActivity(intent);
|
||||
} else if (from.equals("mipush_news")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
NewsActivity.class);
|
||||
intent.putExtra("entrance", "小米推送");
|
||||
intent.putExtra("entity",
|
||||
getIntent().getSerializableExtra("entity"));
|
||||
startActivity(intent);
|
||||
} else if (from.equals("mipush_new_game")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
GameDetailsActivity.class);
|
||||
intent.putExtra("entrance", "小米推送");
|
||||
startActivity(intent);
|
||||
} else if (from.equals("mipush_plugin")) {
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(getIntent()
|
||||
.getStringExtra("data"));
|
||||
JSONArray jsonArray = jsonObject.getJSONArray("apk");
|
||||
ArrayList<String> list = new ArrayList<String>();
|
||||
for (int i = 0; i < jsonArray.length(); i++) {
|
||||
JSONObject apk = jsonArray.getJSONObject(i);
|
||||
String packageName = apk.getString("package");
|
||||
if (PackageManager.isInstalled(packageName)) {
|
||||
// 判断是否gh_version是否相同
|
||||
String gh_version = (String) PackageUtils
|
||||
.getMetaData(getApplicationContext(),
|
||||
packageName, "gh_version");
|
||||
if (gh_version != null) {
|
||||
gh_version = gh_version.substring(2);
|
||||
// 判断gh_version是否相同
|
||||
if (gh_version.equals(apk
|
||||
.getString("gh_version"))) {
|
||||
// 判断version是否相同
|
||||
String version = PackageUtils
|
||||
.getVersionByPackage(
|
||||
getApplicationContext(),
|
||||
packageName);
|
||||
if (version != null && version.equals(apk
|
||||
.getString("version"))) {
|
||||
// 版本相同,无需显示插件更新,继续查看是否有可更新的游戏包
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
list.add(packageName);
|
||||
}
|
||||
}
|
||||
|
||||
String to = getIntent().getExtras().getString("to");
|
||||
if(!TextUtils.isEmpty(to)){
|
||||
Intent toIntent = new Intent(getApplicationContext(),intentClass(to));
|
||||
|
||||
if("NewsActivity".equals(to)){
|
||||
toIntent.putExtra("newsId", getIntent().getExtras().getString("newsId"));
|
||||
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
|
||||
}else if("DownloadManagerActivity".equals(to)){
|
||||
toIntent.putExtra("packageName" , getIntent().getExtras().getString("packageName"));
|
||||
toIntent.putExtra("currentItem" , 1);
|
||||
}else if ("GameDetailsActivity".equals(to)){
|
||||
toIntent.putExtra("gameId", getIntent().getExtras().getString("gameId"));
|
||||
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
|
||||
}else if ("SubjectActivity".equals(to)){
|
||||
toIntent.putExtra("id", getIntent().getExtras().getString("id"));
|
||||
toIntent.putExtra("name", getIntent().getExtras().getString("name"));
|
||||
toIntent.putExtra("order", getIntent().getExtras().getBoolean("order"));
|
||||
}else if ("ViewImageActivity".equals(to)){
|
||||
toIntent.putExtra("urls" , getIntent().getExtras().getStringArrayList("urls"));
|
||||
toIntent.putExtra("current" , getIntent().getExtras().getInt("current",0));
|
||||
toIntent.putExtra("ScaleType" , getIntent().getExtras().getString("ScaleType"));
|
||||
}
|
||||
startActivity(toIntent);
|
||||
}else {
|
||||
String from = getIntent().getStringExtra("from");
|
||||
if (!TextUtils.isEmpty(from)) {
|
||||
if (from.equals("plugin")) {
|
||||
String packageName = getIntent().getStringExtra(
|
||||
"packageName");
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
DownloadManagerActivity.class);
|
||||
intent.putExtra("currentItem", 1);
|
||||
intent.putExtra("isPushIntent", true);
|
||||
intent.putExtra("packageName", packageName);
|
||||
startActivity(intent);
|
||||
} catch (JSONException e) {
|
||||
} else if (from.equals("mipush_news")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
NewsActivity.class);
|
||||
intent.putExtra("entrance", "小米推送");
|
||||
intent.putExtra("entity",
|
||||
getIntent().getSerializableExtra("entity"));
|
||||
startActivity(intent);
|
||||
} else if (from.equals("mipush_new_game")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
GameDetailsActivity.class);
|
||||
intent.putExtra("entrance", "小米推送");
|
||||
startActivity(intent);
|
||||
} else if (from.equals("mipush_plugin")) {
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(getIntent()
|
||||
.getStringExtra("data"));
|
||||
JSONArray jsonArray = jsonObject.getJSONArray("apk");
|
||||
ArrayList<String> list = new ArrayList<String>();
|
||||
for (int i = 0; i < jsonArray.length(); i++) {
|
||||
JSONObject apk = jsonArray.getJSONObject(i);
|
||||
String packageName = apk.getString("package");
|
||||
if (PackageManager.isInstalled(packageName)) {
|
||||
// 判断是否gh_version是否相同
|
||||
String gh_version = (String) PackageUtils
|
||||
.getMetaData(getApplicationContext(),
|
||||
packageName, "gh_version");
|
||||
if (gh_version != null) {
|
||||
gh_version = gh_version.substring(2);
|
||||
// 判断gh_version是否相同
|
||||
if (gh_version.equals(apk
|
||||
.getString("gh_version"))) {
|
||||
// 判断version是否相同
|
||||
String version = PackageUtils
|
||||
.getVersionByPackage(
|
||||
getApplicationContext(),
|
||||
packageName);
|
||||
if (version != null && version.equals(apk
|
||||
.getString("version"))) {
|
||||
// 版本相同,无需显示插件更新,继续查看是否有可更新的游戏包
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
list.add(packageName);
|
||||
}
|
||||
}
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
DownloadManagerActivity.class);
|
||||
intent.putExtra("currentItem", 1);
|
||||
intent.putExtra("isPushIntent", true);
|
||||
startActivity(intent);
|
||||
} catch (JSONException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else if (from.equals("plugin_install")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
DownloadManagerActivity.class);
|
||||
intent.putExtra("currentItem", 0);
|
||||
intent.putExtra("path", getIntent().getStringExtra("path"));
|
||||
startActivity(intent);
|
||||
}
|
||||
} else if (from.equals("plugin_install")) {
|
||||
Intent intent = new Intent(MainActivity.this,
|
||||
DownloadManagerActivity.class);
|
||||
intent.putExtra("currentItem", 0);
|
||||
intent.putExtra("path", getIntent().getStringExtra("path"));
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user