2011-10-07 65 views
4

我是新来的Unity,真的不明白如何从android活动启动统一应用程序。 我需要一个有时会改变的小部件(例如,当收到短信时)和点击开始统一应用程序。单独的小部件和团结项目没有问题。但我不知道如何从android项目开始统一。如何从android活动启动Unity应用程序?

+0

。 –

+0

谢谢,我用getLaunchIntentForPackage(“package_name”)。 要知道Unity应用程序包名称,请在检查器OtherSettings/BundleIdentifier中查看BuildSettings/PlayerSettings。它的作品:) – user966562

回答

0

可以扩展的主要活动UnityPlayerActivity(CONTROLL为统一播放器在Android主循环)

public class MainActivity extends UnityPlayerActivity implements MyFunction { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 


} 

这里是document

0

我打电话开始从件按钮应用程序,它帮助我。 我从onUpdate小部件方法调用UpdateWidgetButtonsAction(),并将PendingIntent设置为onClick。

private void UpdateWidgetButtonsAction(Context context, AppWidgetManager appWidgetManager, int widgetID) 
    { 
     RemoteViews widgetView = new RemoteViews(context.getPackageName(), R.layout.widget_layout); 
     widgetView.setOnClickPendingIntent(R.id.MyButtonImage, getPendingSelfIntent(context, "ACTION_LOAD_APP")); 
     appWidgetManager.updateAppWidget(widgetID, widgetView); 
    } 

那么如果你想开始从你的应用程序的另一个应用程序,然后就可以开始另一个应用程序直通其包名称创建BroadcastReciever,其接收ACTION_LOAD_APP行动,并startActivity

public class WidgetBroadcastReceiver extends BroadcastReceiver 
{ 

@Override 
public void onReceive(Context context, Intent intent) { 

    LogCollector.Log("WidgetBroadcastReceiver " + intent.getAction()); 
    if(ACTION_LOAD_APP.equals(intent.getAction())) 
    { 
     Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("UNITY_PACKAGE_NAME"); 
     context.startActivity(launchIntent); 
    } 
} 

}

相关问题