2013-10-24 88 views
2

我想推出谷歌播放應用程序編程,我知道有如何做到這一點:控制屏幕方向

第1道:

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 &打開商店中特定應用的頁面。

第2道:

Context context = getContext(); 
Intent intent = context.getPackageManager().getLaunchIntentForPackage(GOOGLE_PLAY_PACKAGE_NAME); 
if(intent!=null){    
    context.startActivity(intent); 
} 

上述方式只需啓動谷歌Play應用程序。

因爲我不在乎Google Play的哪個頁面顯示,只要它啓動了,所以無論哪種方式都適合我。 這纔是我的關鍵問題:

除了谷歌推出遊戲,我也想設置方向(縱向或橫向)編程當谷歌Play是推出來控制顯示模式。我如何通過手中的上述選項來實現這一點?

回答

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); 
} 

祝你好運!