2016-04-09 11 views
-1

smaliコードは、文字列からURLを取得し、そのリンクを他のアプリケーションと共有できます。しかし、私はurlの代わりにいくつかの永久テキスト、またはstringから返されたテキストを送っていきたいです。たとえば、文字列から取り出された一時的なテキストではなく、 "こんにちは、どうやって"を共有したいのですか?だから、これを達成するために次のsmaliコードで何を変えるべきですか?smali - このコードに永久テキストを設定する方法

.line 512 
const-string v2, "android.intent.action.SEND" 

invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; 

.line 513 
const-string v2, "android.intent.extra.SUBJECT" 

iget-object v3, p0, Lcom/myapp/c/b/q;->t:Lcom/myapp/a/b/c; 

iget-object v3, v3, Lcom/myapp/a/b/c;->d:Ljava/lang/String; 

invoke-virtual {v1, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; 

.line 514 
const-string v2, "android.intent.extra.TEXT" 

new-instance v3, Ljava/lang/StringBuilder; 

invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V 

iget-object v4, p0, Lcom/myapp/c/b/q;->t:Lcom/myapp/a/b/c; 

iget-object v4, v4, Lcom/myapp/a/b/c;->d:Ljava/lang/String; 

invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 

move-result-object v3 

const-string v4, "\n\n" 

invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 

move-result-object v3 

invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 

move-result-object v0 

const-string v3, "\n\n" 

invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 

move-result-object v0 

iget-object v3, v6, Lcom/myapp/a/a/n;->c:Ljava/lang/String; 

invoke-static {v3}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; 

move-result-object v3 

invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; 

move-result-object v0 

invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; 

move-result-object v0 

invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; 

.line 515 
const-string v0, "text/plain" 

invoke-virtual {v1, v0}, Landroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent; 

.line 516 
const v0, 0x7f020126 

.line 517 
invoke-virtual {p0, v0}, Lcom/myapp/c/b/q;->getString(I)Ljava/lang/String; 

move-result-object v0 

.line 518 
invoke-static {v1, v0}, Landroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent; 

move-result-object v0 

invoke-virtual {p0, v0}, Lcom/myapp/c/b/q;->startActivity(Landroid/content/Intent;)V 
:try_end_0 
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 
.catch Ljava/lang/Error; {:try_start_0 .. :try_end_0} :catch_1 

goto :goto_0 

.line 519 
:catch_0 
move-exception v0 

invoke-static {v0}, Lcom/myapp/d/e;->a(Ljava/lang/Exception;)V 

goto :goto_0 

.line 520 
:catch_1 
move-exception v0 
+0

あなたの最善の策はそれを分解して、それを使用+あなたはJavaで欲しいものに似た何かをコーディングして、コンパイルすることです:間違って、ここでV0の他のアプリと共有される文字列がありますあなたがしたいことのための基礎。 – JesusFreke

+0

また、あなたが求めていることはあまり明確ではありません:) – JesusFreke

+0

アプリに「共有」ボタンがあります。それをクリックすると、他のアプリが開き、ウェブサイトのURLを共有できます。アプリはインターネットからURLを取得し、共有をクリックするとそのリンクが読み込まれ、共有できます。しかし、私が求めているのは、取り出したリンクを共有するのではなく、永久的なテキストを共有したいということです。例、アプリケーションはこのリンク(www.example.com/abcd)を取得し、共有するとこのリンクは共有されます。その代わりに、私は何かのテキストを常に共有したい。共有をクリックして共有する他のアプリケーション(例whatsapp)を開くたびに、このtexを共有する必要があります>> "これはアプリリンクです" – user3548321

答えて

1

あなたのコードのクラスの一部は難読化されていますが、推測のビットで、我々はHTMLテキストを連結する部分がここにあることを見つけることができます。

iget-object v3, v6, Lcom/myapp/a/a/n;->c:Ljava/lang/String; 

invoke-static {v3}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; 

move-result-object v3 

invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; 

move-result-object v0 

そして、私はいないよ場合

invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; 
+0

Plsこの質問を見るhttp://stackoverflow.com/questions/36588934/how-返信する静的な結果このsmaliコード – user3548321

+0

私はあなたを助けた場合私の答えを受け入れてください。ちなみに、誰かがすでに他の質問に答えています。 –

関連する問題