我想以编程方式发布 Google Play 应用,我知道有 2 方法可以做到这一点:
第一种方式:
final String appName = ...;
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+appName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id="+appName)));
}
上述代码启动了Google Play&打开商店中特定应用的页面。
第二种方式:
Context context = getContext();
Intent intent = context.getPackageManager().getLaunchIntentForPackage(GOOGLE_PLAY_PACKAGE_NAME);
if(intent!=null){
context.startActivity(intent);
}
以上方式只需启动Google Play应用。
由于我不关心Google Play的哪一页显示,所以无论哪种方式都适合我。 这是我的关键问题:
除了启动Google Play之外,我还想设置方向(纵向或横向)以编程方式来控制Google Play启动时的显示模式。如何通过手中的上述选项实现这一目标?
答案 0 :(得分:0)
我认为你所要求的是不可能。 只有应用程序中的开发人员才能以编程方式设置屏幕方向,或者如果他提供了以意图设置方向的选项。
因此可以从具有意图的活动中设置屏幕方向。以下示例说明了可能的解决方案。
Yourcode
import android.content.pm.ActivityInfo;
public class YourClass extends Activity {
private void yourMethodToStartAnNewActivity() {
Intent intent = null;
try {
Intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+appName)));
intent.putExtra("screenOrientation", ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
startActivity(intent);
}
catch (android.content.ActivityNotFoundException anfe) {
Toast.makeText(this, "Google Play is not installed on your device", Toast.LENGTH_LONG).show();
}
}
}
要开始的活动
import android.content.pm.ActivityInfo;
public class ActivtyToStart extends Activity {
private final static int NO_SCREENORIENTATION_SET = 999;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
int screenOrientation = extras.getInt("screenOrientation", NO_SCREENORIENTATION_SET);
switch (screenOrientation) {
case ActivtyToStart.NO_SCREENORIENTATION_SET:
break;
case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
setContentView(R.layout.activitytoStart);
}
祝你好运!