我正在開發一個Android應用程序,用於偵聽包含一些數據包的特定意圖。我想用adb發送一個意圖到我的應用程序。我曾嘗試過:使用控制檯發送捆綁意圖
adb shell am startservice -a com.INTENT_NAME -e myBundleName myBundleData com.pkg/com.pkg.cls
但我的應用程序將它識別爲字符串列表而不是捆綁。有誰知道如何使用應用程序發送捆綁意圖?不幸的是,文檔只說關於發送字符串或數字列表,而不是捆綁。
我正在開發一個Android應用程序,用於偵聽包含一些數據包的特定意圖。我想用adb發送一個意圖到我的應用程序。我曾嘗試過:使用控制檯發送捆綁意圖
adb shell am startservice -a com.INTENT_NAME -e myBundleName myBundleData com.pkg/com.pkg.cls
但我的應用程序將它識別爲字符串列表而不是捆綁。有誰知道如何使用應用程序發送捆綁意圖?不幸的是,文檔只說關於發送字符串或數字列表,而不是捆綁。
按照source codeam
沒有接受bundle
類型的輸入數據的方式
更新: 在Android中7.0意圖參數解析代碼has been moved從Am.java到Intent.java並支持更多的數據類型(如基本類型的Array[]
和ArrayList<>
)已被添加。不幸的是,am
命令中仍然不支持Bundle
類型的附加功能。
您可以使用以下命令來啓動它: 亞行外殼上午startservice -a android.intent.action.MAIN -e「鍵」,「值」 -n com.example.test/.TestService 鍵和值應該是你想要發送的捆綁值。 TestService的應該是您的服務名稱 添加您在AndroidManifest.xml 摘錄服務:
<service android:name=".TestService" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
我面臨同樣的問題,試圖僞裝,你剛剛收到一個Facebook應用程序後安裝的應用情況邀請。不能得到殼工作,最終建立一個非常簡單的測試裝備,只有一個按鈕和處理程序代碼:
Button button = (Button)findViewById(R.id.trigger_button);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(Uri.parse("myapp://fb-app-invite"));
Bundle bundle = new Bundle();
bundle.putString("target_url", "myapp://fb-app-invite?fromuser=673");
intent.putExtra("al_applink_data", bundle);
MainActivity.this.startActivity(intent);
}
});
謝謝您的迴應。你有任何想法如何使用控制檯發送捆綁意圖? – blazej