1

それで、私は別のクラスでどのクラスから来たのかを確認したいと思います。たとえば、クラスA、B、Cがあります。現在、BにはクラスAを開くインテントがあります。また、Cには、クラスAを開くインテントがあります。ただし、どのクラスから来たかによっては、その特定のクラスに対していくつかの異なるメソッドを実行する必要がある場合があります。OK、それで私はあなたに私のものをあげます。Themes.classとSoftkey.classがあります。どちらもBmod.classを開きます。これで、ほぼ両方のクラスが同じことを行います。唯一の違いは、ファイルをダウンロードすると、出力ストリームのディレクトリが異なることです。それで、私は先に進んで、いくつかのコードを試しました。これが私が試したことです:

                            //Download the file
            Object obj = null;
            InputStream input = new BufferedInputStream(url.openStream());
            OutputStream output = null;
            if(obj instanceof Themes){
            output = new FileOutputStream("/sdcard/plasma/battery/batterymod.zip");
            }if(obj instanceof Softkeys){
            output = new FileOutputStream("/sdcard/plasma/softkeys/softkeys.zip");
            }

今、私がアプリを実行すると、何もダウンロードされません。私は何か間違ったことをしたと思っているので、アプリは出力ストリームが何であるかを知りません。だから、私の質問はタイトルが述べているようにです:私が以前にどのクラスから来たのかを1つのクラスで適切にチェックインするにはどうすればよいですか?ありがとう。

4

2 に答える 2

2
How do I properly check in one class which class I previously came from

このようなトップアクティビティを取得できるように、アクティビティ間を移動していると思います

ActivityManager am = (ActivityManager) context.
    getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
String className = am.getRunningTasks(1).get(0).topActivity.getClassName();

マニフェストの権限を使用します

<uses-permission android:name="android.permission.GET_TASKS" />

これがお役に立てば幸いです。

于 2013-03-23T21:54:48.970 に答える
2

startActivity(// intent activity A)を呼び出すときは、追加の文字列intent.putExtra( "From"、 "classB"//または"classC")を追加するだけです。AのonCreateメソッドでgetIntent()。getStringExtra( "From"、 "")を呼び出し、取得した内容に応じて、必要な処理を実行します。

于 2013-03-23T21:58:42.787 に答える