私は自分のビュー階層に別のアプリケーションの主なアクティビティをロードしようとしています。これは、「フラグメント」でできることと同様です。自分のビューに外部アクティビティを読み込みますか?
私が試してみた:
それがcom.my.app/com.android.calculator2.Calculator
を見つけようとするとこれは
ClassNotFoundException
で失敗
Context foreignContext = createPackageContext("com.android.calculator2", Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE);
Class<?> foreignClass = foreignContext.getClassLoader().loadClass("com.android.calculator2.Calculator");
Intent intent = new Intent(this, foreignClass);
View view = getLocalActivityManager()
.startActivity("ReferenceName", intent
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
this.setContentView(view);
(私はgetLocalActivityManager
でLocal
は接頭辞が追加されますと仮定?)
これを達成するためにどのような方法があります?私は外国の活動やそのコードとやりとりする必要はなく、単に自分の活動の中でそれを表示するだけなので、それを単にインテントで起動することはできません。セキュリティ上の理由からこれは不可能だと思っていましたが、(理論的に)外国のアプリケーションのコードにアクセスできる場合は、どういうわけかonCreate
メソッドを実行する必要がありますか?
ありがとうございます!
これはいいことですが、市場に出回っているアプリのうち50個を数分で市場に出すことができます。 ;-)私はこれが注射のカテゴリーに入ると思うか、あるいは逆注入と思われます。そして、あなたは深刻なハッキングや未知で重大なセキュリティホールがなければこれを行うことができます。 – Idistic