2011-01-22 17 views
13

すべてのアプリは同じsharedUserIdを持っています。私は私の現在のアプリケーションのクラスを使用して別のアプリケーションのクラスを開始したいと思います。インテントエクストラを使用したいが、インテントURLを使用したくない。また、私のターゲットアクティビティのアプリのAndroidManifestを変更する必要もないことを望みます。Androidのインテント:同じsharedUserIdを持つ別のアプリのクラス名を使用してアクティビティを開始

+2

「私のすべてのアプリは同じsharedUserIdを持っています」私はそうしないことを強く勧めます。 – Falmarri

+0

ユーザーの観点からは、1つのアプリケーションへのログインは他のアプリケーションにもログインする必要があります。ログインCookieをsharedUserIdにロックするか、すべてのアプリで公開することができます。また、将来のリリースでこれを修正しない限り、アンロードとデータの消失を必要とせずにsharedUserIdを持っていないアプリにsharedUserIdを追加することはできません。 @Falmarri、それ以外は、sharedUserIdを使用しない方がなぜ好きであるか、私はまだ知りたいです。 –

答えて

30

sharedUserIdが設定されているので、かなり簡単です。

Intent res = new Intent(); 
String mPackage = "com.your.package"; 
String mClass = ".actYouAreLaunching"; 
res.setComponent(new ComponentName(mPackage,mPackage+mClass)); 
startActivity(res); 

これだけです。あなたはいつものようにエッセンスを追加することができます。

+0

'Intent.setClassName(String pack、String className)'を使って 'new ComponentName(...)'を省略することができます。 –

関連する問題